图书馆管理系统的心得体会

图书馆管理系统是我至今为止做的最复杂的管理系统,持续了近一个月,修改了5到6次,到现在还是处在修改完善的状态,这个过程很辛苦,但也收获满满。我结合写这个程序的几个阶段和修改过程,谈谈我的心得和一些经验与教训。这个程序的第一版,我差不多花了将近1个星期的时间来完成,写出了一个相对完整的代码。在这个过程里,我遇到的最大障碍应该是文件的读取,我一开始对重载输入输出流的定义不当,导致文件读取的内容不对,经过长时间的修改与调整才克服了这一难关。这一版代码虽然完整,但有两个致命的缺陷,一个是只从文件中读取了图书和用户的基本信息,而忽略了借阅记录,还有就是将用户端的用户对象定义成向量,而没有定好特定的对象。在老师的提示下,我使用了重载赋值运算符的方法,找到特定的用户对象。在文件方面,我将图书和用户的借阅信息加入了文件中,这个过程同样有一些问题,一开始,是记录无法正常存取,我加了记录数目这个数据成员做限定才最终解决。之后又发现只能读取第一个人的记录信息,在同学的提示下,我对临时对象做了清空处理,才最后解决这一问题。这一版,总的来说比较成熟,但还是有一个严重的问题,我在用户操作类中用户对象使用了无参的构造函数,登陆之后才去输学号,这其实并不能把用户封死。然后,我就把对应的无参构造函数改成了有参构造函数,只能对特定对象做操作,而且,我把时间改成了每次登陆只输一次,每次登陆后所有借书还书操作都是在同一时间进行,而不用重复的输入时间,借书时只要输入书号即可。通过,这些修改,我基本可以正确的模拟图书馆管理系统功能的实现。但这个程序还不够完善,我现在还在做两方面的修改,一是加入继承来缩短代码,图书和用户都有相同的记录,这个可以把记录单独提出来做一个基类,图书类和用户类从中继承,同理,用户端和管理端也可以继承,但我现在有一个问题是对于文件操作的继承,在这上面,我还有一些小的问题。登录是老师上课讲的样例,运用继承和多态,我有些地方还不是特别会写,还需要进一步的研究。通过这个系统,我对学过的各种知识有了更加全面的掌握,同时我明白了一个道理,考虑问题一定要考虑周全,一定要联系实际情况,就像用户端一定要只能对特定用户做操作一样,同时要学会修改程序,只有在不断修改中,程序才会完善。这个系统只是我的第一步,我会吸取经验教训,写出更加完善的程序。

你可能感兴趣的:(c++课程)