对基于C++的图书馆管理系统的改进
(一)摘要
在大一第二学期,我在有一定C语言基础的情况下学习了C++。在一个学期的学习后,对C++有了一定的了解,并在学期末进行了C++的课程实践大作业设计,其中还有很多不足值得改进。
(二)实践过程
(1)设计
我课程设计的题目是图书馆管理系统利用E-R图我简单的设计了一下此系统所需要的类的成员和方法及其之间继承关系,即一个基类Book和三个子类ScienceBook、SocialBook和ForeignBook,Library类可以对图书进行增加、借阅、归还和查询。

通过功能例图也能很清晰的看出它们之间的关系。

(2)编码

主要功能模块
①增加图书(通过out.write(const char *buf,int len)函 数)

②外借图书(使用in.read(char *buf,int len)函数)

③归还图书(使用in.read(char *buf,int len)函数)
(in.seekg(位移量)来控制位置)

④搜索图书(主要调用基类中的showme()虚函数)

(3)测试



(三)不足和改进
(1)问题
在设计过程中,遇到的最大问题就是具体功能模块的设计,本次实践主要采用文件读写的方法进行数据管理,尽管编译没有错误,但仍存在着不少bug导致信息录入或查找错误。
(2)分析
有很大一部分原因是自己对C++的文件操作了解不够深入,导致在学习文件操作上花了大把时间都没能掌握。这次实践是我和他人共同合作的初次尝试,一起调试也花了不少功夫。对于数据处理的部分是最需要改进的。
(3)改进
数据管理上,学习了数据结构和数据库后,可以将文件读写的方式改成链表式存储或是数据库管理;界面上,可以对界面进行美化,更加用户友好化;用户系统上,加入多账号管理和管理员功能,以丰富图书馆管理系统。
(四)总结
程序设计并不是简单就能完成的。单人完成可能会有较清晰的思路,但工作量却比较大;多人合作完成虽然相对减少了个人的工作量,但如何将每个成员的代码放到一起调试不出错也需要花很大功夫。实践设计都有改进的地方,需要我们动手去做。

浙公网安备 33010602011771号