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

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

这次的图书馆管理系统

需要大体的五个类:时间类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,尤其是重载赋值号。消除学生违纪,就是将学生的违纪标志去掉,就可以借书了。

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

c++课程设计图书馆管理系统总结相关推荐

  1. c语言课程设计作业图书管理系统,C语言课程设计图书馆管理系统程序代码.doc

    C语言课程设计图书馆管理系统程序代码.doc includestdio.h includewindows.h includestring.h includeconio.h define M 100 s ...

  2. Java web 课程设计——图书馆管理系统(SSM)

    题目要求 本网上图书馆系统应实现图书网上检索.预约和续借功能: 系统管理:定义读者类别并设置参数,添加.修改和删除读者信息. 图书续借和预约:实现图书的续借.预约等功能. 图书检索:按书名或作者等信息 ...

  3. Python课程设计:图书馆管理系统

    图书馆管理系统: 基于python系统 引用库进行操作 系统主要实现: 添加书 删除书 借书 还书 查询图书信息 查询马上要归还的图书信息 按照借阅次序排序 源码简介: 对已图书信息进行更新操作,包括 ...

  4. 数据库课程设计-图书馆管理系统(1.数据库分析部分)

    图书馆管理系统第一部分,数据库分析. 主要是需求分析.设计概要模块.数据库概念结构设计(E-R图).数据库逻辑结构设计(表.存储过程.触发器) 目录 1. 需求分析 1.1 数据流图 1.2 数据字典 ...

  5. C语言课程设计图书馆管理系统

    #include<stdio.h> #include<string.h> #include<stdlib.h> #include<ctype.h> // ...

  6. c语言课程设计图书馆管理系统例子,C语言课程设计图书馆管理系统源程序

    审计. 消防执法执法工作轮换消防实践执法,晋升,重新培训退休关键时间同步场所审计机制,自我敦促自我约束,消防执法,自我保护. 1.3预防性消防督促当前的消防执法腐败涉及违法执法的呈上升趋势,从近年来的 ...

  7. 数据库课程设计-图书馆管理系统(3. 用户软件,基于QT)

    如果对你有帮助,可以给卑微的博主留个赞.关注.收藏   (不是) (骗一下数据,说不定以后面试就过了,拜谢) 用户软件的实现根据自己所用语言选择对应开发工具,c++ 较常用的是QT或者MFC.这里使用 ...

  8. 数据库课程设计-图书馆管理系统(2.数据库实现-基于mysql)

    如果对你有帮助,可以给卑微的博主留个赞.关注.收藏   (不是) (骗一下数据,说不定以后面试就过了,拜谢) 数据库选用mysql 8.0.25   64位, 配合使用navicat mysql可以在 ...

  9. c语言编程票务系统,C语言课程设计票务管理系统

    C语言课程设计票务管理系统 C语言课程设计1西安交通大学城市学院C语言程序设计课程设计报告题目图书信息管理系统专业自动化班级自动化101姓名陈蕾完成日期2012年5月31日C语言课程设计2目录第一章项 ...

最新文章

  1. Mac OS X Terminal 101:终端使用初级教程
  2. SAP修改科目为未清项管理和行项目显示
  3. python数据的格式输出_python数据类型,格式话输出
  4. Setup a Windows Server 2012 ×××
  5. 【渝粤教育】国家开放大学2018年春季 0579-22T电路及磁路(2)(一) 参考试题
  6. matlab meshgrid函数_从零开始的matlab学习笔记——(28)立体图切面与三视图
  7. java参数校验:ValidatorUtils校验框架工具类的使用
  8. js系列教程13-原型、原型链、作用链、闭包全解
  9. css3文档手册chm_你还在使用CHM帮助文档吗?赶快试试Baklib吧
  10. 原子性判断,防并发思路
  11. 转 常用C#正则表达式收集。
  12. 修图类APP原型设计分享– Hello Camera
  13. 必修三计算机选修三知识点总结,高中生物必修一、必修二、必修三、选修三知识点总结(人教版).pdf...
  14. 2013-2014年度总结
  15. Ubuntu18.04 笔记本电脑使用USB摄像头替代自带摄像头 安装摄像头驱动usb_cam的方法
  16. 【PS技巧】如何拼图
  17. 手机尾号(%d的深度使用)
  18. 【记录】用Python webdriver图书馆抢座自动预约的正确姿势
  19. android imageview stretchblt,想知道Bmp图像的缩小放大用Tcanvas.StretchDraw还是用StretchBlt函数?(50分)...
  20. arm-linux 交叉编译链接动态库使用

热门文章

  1. 双路cpu比单路强多少_别傻了!双核和双路服务器根本不一样
  2. Hibernate缓存集成IMDG
  3. HDU 4489 (DP递推计数)
  4. win10 无法拨号上网720错误
  5. python 安装失败 errorcode 2203_win10系统安装软件出现the error code is 2203错误怎么办...
  6. 能测试护肤品成分的软件,查化妆品成分的app
  7. ics日历 android,哪些日历 App 支持导入 ics 或 webcal 协议订阅?
  8. android 配置aspect_Android全面屏适配
  9. 某些Win10无法进入安全模式的修复
  10. pytorch的简单教程