关于最近c++图书馆管理系统的总结

从最开始做图书管理系统一直到现在,满打满算应该总的完整修改了三次,由程序不成熟到逐步发展完善更新。

其中自己得到了许多收获,下面写一下自己的感悟:
首先做任何一个程序,首先必须要有一个总体的规划,整体思路必须在程序开始写之前完成,剩下的细节在打程序后再进行逐步添加。
比如这次的图书管理系统
需要差不多5个类 时间类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,尤其是重载赋值号。消除学生违纪,就是将学生的违纪标志去掉,就可以借书了。

验证密码账户,只有账户密码全部符合才可以登陆,客户端登陆只能进行客户端的操作,管理端登陆只能进行管理端的操作。

图书馆管理系统要求自己熟悉数据读入读出,其中数据读入读出需要仔细了解输入输出的操作,数据的后期清空,vector和muultimap的存入,读入读出需要ifstream 读出ofstream进行定义存入读出文件夹。灵活的进行运用各种get() set()函数,进行功能实现。

关于编程图书管理系统,这几天虽然很累但是感觉十分满足,当实现基本目标时多少会有成就感,我想这就是编程虽然有时候枯燥但是还是有很多人乐于编程,永远不要将编程当作一项枯燥的编代码,而是把它当作充满意义乐趣的事,你的工作效率一定会大大增加。

猜你喜欢

转载自blog.csdn.net/qq_20017379/article/details/80826319