首先搞清楚数据结构
书本本身,包括书名、作者以及出版社,组成Book类
其次图书进入图书馆后,会增加一些额外的属性,包括书号、数量、借阅记录,其中借阅记录又要单独写一个类,并且该类可以继承自Book类,这样又产生了一个类,组成BookData类
书的借阅记录,包括用户姓名,借书的时间,借的书的名字,最迟归还期限;操作类型;以及还书的时间。借阅记录分两种,结束的纪录和还书的记录,用操作类型区分,此处的操作类型可用字符变量,作为借书记录时,需要用到的数据是用户姓名,借书的时间,借的书的名字,最迟归还期限,其余设为默认,不特地去体现;作为还书记录时,需要的数据是用户姓名、归还的书的名字,归还日期。最终组成Record类
上文中出现的各种日期也应该单独写一个类,包括年、月、日,组成Date类
用户,包括用户姓名,以及用户借阅在手的书籍,书籍用Date类与Book类组成的multimap表示,前一个Date表示最迟归还期限
,组成User类
用户可以完成借书以及还书的操作
管理者,包括管理者姓名,组成Manager
最后,对之前的数据作一个汇总,图书馆类,包括BookData的向量,用户的向量,管理者的向量,以及系列操作函数,组成Library类
关于Library类的函数,包括登录,登录分为用户登录和管理员登录,用户登录后可以进行借书和灌输操作,管理员可以增加图书、移除图书以及查阅 用户记录
心得:
整理数据类型是特别重要的一个部分,不仅要考虑数据结构的清晰性,还要为功能函数的简单化实现做准备,其次,要准确地使用引用与副本。