《c++课设图书管理系统.doc》由会员分享,可在线阅读,更多相关《c++课设图书管理系统.doc(28页珍藏版)》请在金锄头文库上搜索。
1、南京航空航天大学面向对象程序设计语言课程设计报告图 书 管 理 系 统学号:姓名:日期: 目 录一.需求分析.2二.程序主要功能.2三.程序运行平台.2四.系统功能框架图.3五.程序类说明.4六.模块分析.6七.比较有特色的地方.7八.存在的不足与对策.11九.编程体会.12十.程序源代码.13一 需求分析本系统旨在实现一个小型的图书管理系统,对于一个小型的图书馆或藏书室来说,实施本系统不仅可以减少工作人员数量,降低成本,而且可以大大提高工作效率,降低工作强度,方便读者借书查书及办理各种手续,更方便工作人员对图书进行更有效的管理。程序主要实现读者管理、图书基本信息及库存管理、图书借还管理以及一
2、些辅助功能等。(1) 以菜单的方式工作(2) 图书、读者的基本信息的新增(3) 图书、读者的基本信息的修改(4) 图书、读者记录的删除(5) 图书的借阅,归还(6) 查询图书、读者信息及借阅状态二 程序主要功能 该程序的主要功能有:l 读者功能可进行增加读者、读者信息修改、注销读者、读者查询、显示读者信息、显示所有读者信息等操作。l 图书信息管理可以进行查询图书、增加图书、删除图书信息、图书信息修改、显示全部图书信息等操作。其中添加内容包括:书名、ISBN编号、作者、出版商、出版日期、方便读者查看;l 图书借还功能 应该说这是整个系统最主要的功能,借还时要输入编号已及读者编号l 帮助一个简单的
3、操作指南,指导用户下一步该如何操作。l 退出系统在运行时将从文件载入信息。运行程序后每一步都会有详细的提示,操作简便,大多数地方都考虑到防止用户出现误操作的情况,以提高程序的健壮性,可以放心使用!三程序运行平台该程序是用VC+6.0制做的,使用Microsoft Visual C+ 6.0运行该程序,具体操作是:打开Microsoft Visual C+ 6.0,菜单栏里点文件打开工作区找到“图书管理系统.dsw”这个文件打开,或者在资源管理器中双击该文件,此时,VC+6.0会自动打开,并载入该系统相关资源,点击Run命令菜单或者或用快捷键Ctrl+F5运行该程序。trl计分析能借书/还书读者
4、信息管理图书管理系统图书信息管理帮 助统计查询.新增图书信息.删除图书信息.显示图书信息.修改图书信息.帮助说明.显示读者信息.返回上一层.新增读者信息.修改读者信息.删除图书信息.显示图书信息.帮助说明.返回上一层 输入图书编号及读者编号.还书 借书.返回上一层四系统功能框架图五程序类说明有关图书信息的类struct BookInfochar BookCode6;/图书编号char BookName30;/图书名字char BookAuthor20;/作者名 char BookPress50;/出版社 char BookPublicationDate8;/出版日期 char ISBN8;/图
5、书isbn号 char BookStatus;/图书借阅状态 0未借出 1借出 char ReaderCode6;/读者编号 编号为0为未借阅char IsAvailable;/图书是否有效,0无效,1,有效 ;void AddBookInfo();/增加图书void ModifyBookInfo();/修改图书void DelBookInfo();/删除图书int CountBook();/获得图书记录数int IsBookExist(char *);/判断图书(编号)是否存在void ShowBookInfo();/显示图书清单 void ShowReaderInfo(); /显示读者清单
6、int IsBorrow(char *);/判断是否在借int IsBorrowed(char *);/统计在借书的总数 void BookBorrow();/借书手续 void BookReturn();/还书手续有关读者信息的类struct ReaderInfochar ReaderCode6;/读者编号 char ReaderName20;/读者姓名 char Sex3;/读者性别 char IsAvailable;/读者是否有效,0无效,1,有效 ;void AddReaderInfo();/增加读者void ModifyReaderInfo();/修改读者void DelReader
7、Info();/删除读者void ShowReaderInfo(); /显示读者清单int CountReader();/获得读者记录数六.模块分析1、读者信息:下设子菜单,包括:a.新增读者 b.修改读者c.删除读者d.读者查询 e.显示读者信息 f.返回上一层 (1)读者编号:读者唯一的识别方式,所以不可以重复,长度小于六个字符。(2)读者姓名:长度小于20个字符。(3)读者性别:长度小于三个字符。2、书库信息:该部分内容最丰富,下设子菜单,包括a.新书入库 b.删除 c.修改 d.返回上一层 链表的思路也跟读者信息一样,从头结点开始建,每当新增加一个类节点时,就把新增结点加到链表尾部,再
8、让其中的next指向NULL空,这里没有对链表进行排序。 有关菜单的制作,就是先显示菜单,让用户输入选择,进行输入有效性检查,然后用switch来对不同的选择调用类中不同的函数。3、 借书/还书:借书需要判断的条件不只是判断图书是否存在、图书是否借出、读者是否存在。还书需要提供读者编号再判断图书是否已经借出。十程序源代码#include#include#include#include #include #includeusing namespace std;#define BOOKLEN sizeof(struct BookInfo)#define READERLEN sizeof(struc
9、t ReaderInfo) /函数声明void Welcome();int MainMenu();void SubMenu1();int CreatSubMenu1();void SubMenu2();int CreatSubMenu2();void SubMenu3();int CreatSubMenu3();void SubMenu();int CreatSubMenu4();void AddBookInfo();/增加图书void ModifyBookInfo();/修改图书void DelBookInfo();/删除图书int CountBook();/获得图书记录数int Count
10、Reader();/获得读者记录数int IsBookExist(char *);/判断图书(编号)是否存在int IsReaderExist(char *);/判断读者(编号)是否存在void AddReaderInfo();/增加读者void ModifyReaderInfo();/修改读者void DelReaderInfo();/删除读者void ShowBookInfo();/显示图书清单 void ShowReaderInfo(); /显示读者清单int IsBorrow(char *);/判断是否在借int IsBorrowed(char *);/统计在借书的总数 void Bo
11、okBorrow();/借书手续 void BookReturn();/还书手续 void SearchBook();/图书查询 void SearchReader();/读者查询 int GetPosition(char *,struct BookInfo*);/修改图书信息,获得修改记录的位置 int GetRdPosition(char *,struct ReaderInfo*);/修改读者信息,获得修改记录的位置 void ShowAReader(char *); /显示指定编号的读者的信息int InvalidBookPosition();/查询第一条无效图书信息 int Inval
12、idReaderPosition();/查询第一条无效读者信息 /图书结构定义struct BookInfochar BookCode6;/图书编号char BookName30;/图书名字char BookAuthor20;/作者名 char BookPress50;/出版社 char BookPublicationDate8;/出版日期 char ISBN8;/图书isbn号 char BookStatus;/图书借阅状态 0未借出 1借出 char ReaderCode6;/读者编号 编号为0为未借阅char IsAvailable;/图书是否有效,0无效,1,有效 ;/读者结构体struct ReaderInfochar ReaderCode6;/读者编号 char ReaderName20;/读者姓名 char Sex3;