# 图书管理系统
基于C++实现简易图书管理系统
该项目是在学习完C++语言后,独立完成设计开发的简易图书管理系统
## 设计的基本要求
* 基本完成对图书系统的设计,包含基本的功能,无界面设计。
* 要有明显的分类,对不同的进入者有不同的功能,功能要齐全。
* 要有基本维护功能,能完成对书籍,登陆者的基本功能需求。
## 设计思路
* 1.对基本类的书写,共有三个类,book类,manage类,reader类,完成对类的定义实现,实现相应的功能。
* 2.根据图书系统的功能需求,实现类之间的调用和功能的实现,对类的结构进行更规范的修改,来完成图书功能。
* 3.书写主函数,调用类的相应函数,对各功能进行关联,完成对菜单函数的书写,能够实现界面的跳转,进行相应功能的测试。
* 4.调试各功能函数,查找错误点,进行修改。
## 基本功能
* 管理员(未登录)
* 登录
* 修改个人信息
* 管理员(登录后)
* 增加读者
* 删除读者
* 增加书籍信息
* 修改书籍信息
* 删除书籍信息
* 读者(未登录)
* 登录
* 修改个人信息
* 读者(登录后)
* 查询书籍
* 借阅书籍
* 返还书籍
## 程序中遇到的问题及解决方法
### 1.文件的读入读出
* 采用文本方法写入文件,使用文件流fstream,当多次写入时,使用追加方式写入,实现文件的保存。
### 2.文件中实现修改和删除
* 通过创建文件副本,把修改后的内容写到副本文件中去,再将副本中的内容写到原文件中去,最后删除副本文件。修改书籍增加标签变量,判断是否找到书籍,找到后将变量值加1,来实现标记。在删除时先查找,和修改一样,再写入到副本文件中时,将删除的内容不写入,实现删除。
### 3.窗口间的跳转
* 一个主窗口,还有两个分别属于读者和管理员的窗口,各对应相应的功能,采用switch语句嵌套的方法,实现窗口的逐层进入。
### 4.采用函数封装的方法
* 程序中主函数代码很少,看起来很简单,功能函数都封装好,菜单函数也封装起来,直接进行函数调用,看起来结构清晰。
## 总结
* 图书管理系统中上有些功能未完善(例如:查找只能根据书名查找),尚待改进。
* 系统中用到很多for循环语句,代码有些冗杂。
* 代码的优化做得不够,很多代码很复杂,要进一步简化。
* 基本功能满足,可以继续增加改进。
* 基本了解了C++的编程思想
不走小道
- 粉丝: 3384
- 资源: 5051
最新资源
- audittest-javaEE框架项目资源
- kde-l10n-Dutch-4.10.5-2.el7.x64-86.rpm.tar.gz
- kde-l10n-Estonian-4.10.5-2.el7.x64-86.rpm.tar.gz
- 基于多目标黏菌优化算法MOSMA的支持向量机SVM参数优化用于多维数据预测回归与负载核预测,利用多目标黏菌优化算法MOSMA优化支持向量机SVM的参数c和g,实现回归预测,可以实现负载核预测,风电等等
- CC智慧物业小程序-活动资源
- kde-l10n-Farsi-4.10.5-2.el7.x64-86.rpm.tar.gz
- KeyMouseHook-活动资源
- KeyMouseHook-活动资源
- 基于PLC和变频器的水蓄冷中央空调控制系统中组态王设计与实现:梯形图程序、接线图与画面展示,组态王设计基于PLC和变频器的水蓄冷中央空调控制系统 带解释的梯形图程序,接线图原理图图纸,io分配,组态画
- Java毕设项目:基于spring+mybatis+maven+mysql实现的演唱会购票管理系统【含源码+数据库+毕业论文】
- kde-l10n-Finnish-4.10.5-2.el7.x64-86.rpm.tar.gz
- MLcore-Engine-机器学习开发资源
- LabVIEW网口TCP通讯实现欧姆龙OMRON PLC全功能解析:源码开放,多类型数据批量读写,无插件胜OPC,原创视频分享,LabVIEW网口TCP通讯欧姆龙OMRON PLC,FINSTCP N
- 基于S7-200PLC的中央空调变频节能控制详解:梯形图程序、接线图与组态画面全解析,S7-200 MCGS 基于S7-200PLC的小区居民楼,宾馆等中央空调变频节能控制 带解释的梯形图程序,接线图
- 每周精选合集-活动资源
- PlaneWars-cocos资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈