c++课程设计图书馆管理系统总结

从刚开始做图书馆管理系统到现在,经过了无数次的修改,由程序不成熟逐步的发展,更新,整个过程中,我得到了很多的收获,下面简单说一下自己的感悟:

做任何一个程序,一开始必须要有一个总的规划,整体的思路必须在程序开始着手写之前完成,关于一些细节之类的则可以在动手写程序的过程中或写出大体框架后逐步添加。

这次的图书馆管理系统

需要大体的五个类:时间类Time、记录类Record、学生类Student、图书类Book、客户端类Client、管理类Manage,之后又使用继承,所以加入了类Records

每一个数据类都要规划好基本的数据

通过最近对各种代码和类的练习,类其实都是由基本模版构成

基本格式:由数据类 操作类 登陆类构成

数据类1{

public:
带参构造函数;
无参构造函数;
get/set函数;
一些必要的处理数据函数;
运算符重载函数;
private:
基本数据成员;
数据对象成员;
};
...
操作类1{
public:
带参/无参构造函数;//完成必要的初始化操作(例如从文件读数据初始化相关的集合对象及其他数据成员,调用菜单函数)
功能实现函数;
void menu();
辅助函数;
void load();//读文件中的相关数据到集合数据成员
void save();//将更新的数据成员信息写到文件中
析构函数
private:
由数据类构成的集合对象;
其他数据成员;
}
....


登录验证类{
public:
构造函数;//从密码文件读取信息并初始化集合对象
//1.对用户输入的登录信息结合密码对象进行合法验证
//2.对合法用户:确定用户具体角色,并生成对应的操作类对象,执行对应操作类功能;
void login();
private:
含密码信息的集合对象;
}


int main(){
定义验证类对象;
调用验证类的login函数;
return 0;

}

在编写过程中也出现了很多小问题,其中图书馆编程的主要难题就是在这些小问题,尤其是程序虽然可以运行但是出现崩溃或者数据的一些问题

这些问题耗费了我大量的时间来修改,归结到底还是自己知识掌握的不牢固,比如有可能会忘记添加multimap向量,导致查找失败,还有就是函数类型有时候会打错,不需要返回值类型的要用void。

各种功能的体现:

图书馆系统编程需要考虑各个方面,借书时考虑图书记录,学生记录添加,图书总册数减一,借出册数加一,学生总借书量加一,还可以借减一,学生有违纪时,不能借书;还书时,在记录里考虑是否有这本书,如果没有就提示,有的话考虑是否已换,还书给记录打上标志,表示该书已经还过了,同时将借书时总书量等修改,当还书时间超过该还书的时间,会提示;至于续借就是将该图书还日期加上两个月,续借过的书不能再续借;至于添加图书学生信息,可以重载输入输出进行添加,一定记住添加到multimap和 vector,尤其是重载赋值号。消除学生违纪,就是将学生的违纪标志去掉,就可以借书了。

关于编写图书馆管理系统,这几天除了累但还是十分有成就感的,当基本目标实现时的那种成就感,这大概就是编程虽然枯燥但还是有很多人乐于其中的缘由吧,把编程当作充满意义充满乐趣的事,你的工作效率一定会大大增加。

猜你喜欢

转载自blog.csdn.net/aj171030/article/details/80951968