图书管理系统心得体会

图书管理系统的大体结构:

数据类有时间类、纪录类、图书类、用户类。

操作类有管理员类和用户操作类。

用户操作类要实现的操作就是借数还书查书,管理员类要实现的操作就是对用户和图书信息进行增删查改。

时间类不必多说要注意的一点就是在时间类中可以重载加号来实现借阅时间的增加。

记录类主要包括图书和用户的借阅记录,get set函数等。

用户类中包括用户的基本信息记录类的一个vector,要实现添加记录的功能。在用户类的重载输入输出函数中不光要输入输出用户的基本信息还要输入输出这个用户跟着的记录,图书类的重载输入输出也要有这本图书跟着的借阅记录。

图书类中包括图书的基本信息记录类的一个vector,一个记录数,用于判断需要输出的记录的条数。图书类中实现增加一条记录和显示图书的功能。

在用户操作类和管理员类中需要重载构造函数和析构函数来进行文档读写数据。用户操作类中包括时间类和用户类的一个对象、图书类的vector,实现借书、还书、查看图书馆中所有图书和按书号查询图书的功能。管理员类中包括时间类的一个对象、用户类和图书类的vector,实现增删用户和图书、按学号查询用户和按书号查询图书的功能。

学习到的知识:

在不同类中的一些相同的操作可以使用继承来写,能够缩短代码的长度。

怎样使用文件操作来实现开始时从文件中读取数据结束时将数据写入文件中。

为了数据安全在用户操作类的数据成员中只能有一个用户,而构造函数也应相应的写成带参数的构造函数。

像如借阅记录、用户、图书这种之前用数组实现的操作现在用vector代替会更加的方便。

进行查找操作是使用map来进行查找,使用map的查找速度要比顺序查找快很多,只是因为现在数据量太少所以感觉不出来。

因为要使用文件操作所以在数据类中应该重载输入输出函数。    

程序的不足之处:

没有写用户登录操作。在程序中没有使用继承。还有就是在程序的用户部分存在一个问题,在执行析构函数向文件中写入用户信息时只会写入当前用户的信息,而其它用户没有写入。

这个程序还需要再进一步的完善修改,彻底搞明白其中的内容才能为以后更复杂的程序打下基础。



你可能感兴趣的:(图书管理系统心得体会)