图书管理系统做了挺长的时间 ,前前后后修改了挺多次,说实话其实到最后也不尽如人意,没有完整地实现图书管理的各个功能。
最开始的时候上来没有想清楚具体怎么写,各个功能如何实现,就急急忙忙地下手去写了 。写的时候也是迷迷糊糊,到最后代码倒是写了很多行,但是都是废代码,根本实现不了具体功能,导致第一次交作业的时候没有通过。上课时又具体听了听都有什么功能,各个功能应该怎么实现,写的磕磕绊绊,并且经常性的卡住,到最后再次上交时能够实现文件的读写了,管理书籍(增加 删除等)。最后又仔细研读了一下别的同学的代码,发现有很多地方很多功能的实现都处理的特别好,深受启发,对现在正在写的列车时刻查询系统也是很有帮助。
数据类包括时间类 记录类 图书类 用户类 ,操作类包括管理端和客户端。时间类重载小于号,便于判断是否逾期;借书时间为2个月,可续借(注:注意各个月份总天数不同 有的月份可能没有 31号)。记录类记录下谁在什么时间借了什么书 是否续借等。图书类定义书籍书号 出版社 馆藏数 借出数等 ;可按书号 出版社等进行查询;定义一个vecto<Record>记录下每本书的借阅情况 multimap等进行查询。用户类同图书类。管理端即对用户和图书的基本操作 (增删查改等) 客户端注意将用户限定死,不能出现登陆时是一个用户 借书时又可以输入学号变成另一个人了。
如果还想完善一下的话 可以用一下继承和多态,使功能的实现更加简洁。