您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > c++课设图书管理系统
南京航空航天大学《面向对象程序设计语言》课程设计报告图书管理系统学号:姓名:日期:目录一.需求分析……………………………………………….2二.程序主要功能………………………………………….2三.程序运行平台………………………………………….2四.系统功能框架图……………………………………….3五.程序类说明…………………………………………….4六.模块分析……………………………………………….6七.比较有特色的地方…………………………………….7八.存在的不足与对策…………………………………….11九.编程体会……………………………………………….12十.程序源代码…………………………………………….13一.需求分析本系统旨在实现一个小型的图书管理系统,对于一个小型的图书馆或藏书室来说,实施本系统不仅可以减少工作人员数量,降低成本,而且可以大大提高工作效率,降低工作强度,方便读者借书查书及办理各种手续,更方便工作人员对图书进行更有效的管理。程序主要实现读者管理、图书基本信息及库存管理、图书借还管理以及一些辅助功能等。(1)以菜单的方式工作(2)图书、读者的基本信息的新增(3)图书、读者的基本信息的修改(4)图书、读者记录的删除(5)图书的借阅,归还(6)查询图书、读者信息及借阅状态二.程序主要功能该程序的主要功能有:读者功能可进行增加读者、读者信息修改、注销读者、读者查询、显示读者信息、显示所有读者信息等操作。图书信息管理可以进行查询图书、增加图书、删除图书信息、图书信息修改、显示全部图书信息等操作。其中添加内容包括:书名、ISBN编号、作者、出版商、出版日期、方便读者查看;图书借还功能应该说这是整个系统最主要的功能,借还时要输入编号已及读者编号帮助一个简单的操作指南,指导用户下一步该如何操作。退出系统在运行时将从文件载入信息。运行程序后每一步都会有详细的提示,操作简便,大多数地方都考虑到防止用户出现误操作的情况,以提高程序的健壮性,可以放心使用!三.程序运行平台该程序是用VC++6.0制做的,使用MicrosoftVisualC++6.0运行该程序,具体操作是:打开MicrosoftVisualC++6.0,菜单栏里点文件→打开工作区→找到“图书管理系统.dsw”这个文件→打开,或者在资源管理器中双击该文件,此时,VC++6.0会自动打开,并载入该系统相关资源,点击Run命令菜单或者或用快捷键Ctrl+F5运行该程序。四.系统功能框架图借书/还书读者信息管理图书管理系统图书信息管理帮助统计查询.新增图书信息.删除图书信息.显示图书信息.修改图书.新增读者信息.修改读者信息.删除图书信息.显示图书信息.帮助说明.返回上一层输入图书编号及读者编号.还书借书.返回上一层五.程序类说明①有关图书信息的类structBookInfo{charBookCode[6];//图书编号charBookName[30];//图书名字charBookAuthor[20];//作者名charBookPress[50];//出版社charBookPublicationDate[8];//出版日期charISBN[8];//图书isbn号charBookStatus;//图书借阅状态‘0’未借出‘1’借出charReaderCode[6];//读者编号编号为‘0’为未借阅charIsAvailable;//图书是否有效,‘0’无效,‘1’,有效};voidAddBookInfo();//增加图书voidModifyBookInfo();//修改图书voidDelBookInfo();//删除图书intCountBook();//获得图书记录数intIsBookExist(char*);//判断图书(编号)是否存在voidShowBookInfo();//显示图书清单voidShowReaderInfo();//显示读者清单intIsBorrow(char*);//判断是否在借intIsBorrowed(char*);//统计在借书的总数voidBookBorrow();//借书手续voidBookReturn();//还书手续②有关读者信息的类structReaderInfo{charReaderCode[6];//读者编号charReaderName[20];//读者姓名charSex[3];//读者性别charIsAvailable;//读者是否有效,‘0’无效,‘1,’有效};voidAddReaderInfo();//增加读者voidModifyReaderInfo();//修改读者voidDelReaderInfo();//删除读者voidShowReaderInfo();//显示读者清单intCountReader();//获得读者记录数六.模块分析1、读者信息:下设子菜单,包括:a.新增读者b.修改读者c.删除读者d.读者查询e.显示读者信息f.返回上一层(1)读者编号:读者唯一的识别方式,所以不可以重复,长度小于六个字符。(2)读者姓名:长度小于20个字符。(3)读者性别:长度小于三个字符。2、书库信息:该部分内容最丰富,下设子菜单,包括a.新书入库b.删除c.修改d.返回上一层链表的思路也跟读者信息一样,从头结点开始建,每当新增加一个类节点时,就把新增结点加到链表尾部,再让其中的next指向NULL空,这里没有对链表进行排序。有关菜单的制作,就是先显示菜单,让用户输入选择,进行输入有效性检查,然后用switch来对不同的选择调用类中不同的函数。3、借书/还书:借书需要判断的条件不只是判断图书是否存在、图书是否借出、读者是否存在。还书需要提供读者编号再判断图书是否已经借出。十.程序源代码#includeiostream#includestring.h#includestdlib.h#includefstream#includeiomanip#includestdio.husingnamespacestd;#defineBOOKLENsizeof(structBookInfo)#defineREADERLENsizeof(structReaderInfo)//函数声明voidWelcome();intMainMenu();voidSubMenu1();intCreatSubMenu1();voidSubMenu2();intCreatSubMenu2();voidSubMenu3();intCreatSubMenu3();voidSubMenu();intCreatSubMenu4();voidAddBookInfo();//增加图书voidModifyBookInfo();//修改图书voidDelBookInfo();//删除图书intCountBook();//获得图书记录数intCountReader();//获得读者记录数intIsBookExist(char*);//判断图书(编号)是否存在intIsReaderExist(char*);//判断读者(编号)是否存在voidAddReaderInfo();//增加读者voidModifyReaderInfo();//修改读者voidDelReaderInfo();//删除读者voidShowBookInfo();//显示图书清单voidShowReaderInfo();//显示读者清单intIsBorrow(char*);//判断是否在借intIsBorrowed(char*);//统计在借书的总数voidBookBorrow();//借书手续voidBookReturn();//还书手续voidSearchBook();//图书查询voidSearchReader();//读者查询intGetPosition(char*,structBookInfo*);//修改图书信息,获得修改记录的位置intGetRdPosition(char*,structReaderInfo*);//修改读者信息,获得修改记录的位置voidShowAReader(char*);//显示指定编号的读者的信息intInvalidBookPosition();//查询第一条无效图书信息intInvalidReaderPosition();//查询第一条无效读者信息//图书结构定义structBookInfo{charBookCode[6];//图书编号charBookName[30];//图书名字charBookAuthor[20];//作者名charBookPress[50];//出版社charBookPublicationDate[8];//出版日期charISBN[8];//图书isbn号charBookStatus;//图书借阅状态‘0’未借出‘1’借出charReaderCode[6];//读者编号编号为‘0’为未借阅charIsAvailable;//图书是否有效,‘0’无效,‘1’,有效};//读者结构体structReaderInfo{charReaderCode[6];//读者编号charReaderName[20];//读者姓名charSex[3];//读者性别charIsAvailable;//读者是否有效,‘0’无效,‘1,’有效};voidWelcome(){cout*********************************************************endl;cout**********************图书信息借阅系统*******************endl;cout*********************************************************endl;cout**********************现有图书CountBook()册读者CountReader()人***************endl;}intMainMenu(){intm;while(1){cout*****************欢迎使用图书管理系统***********************endl;cout************************************************************endl;cout*******************1.图书信息管理***************************endl;cout*******************2.读者信息管理***************************endl;cout*******************3.借书还书****************************endl;cout*******************4.统计查询****************************endl;cout*******************0.退出系统*****************************endl;cout请选择0-4:endl;cinm;if(m=0&&m=4)break;elsecout选择错误,请在0-4中选择endl;}returnm;}intCreatSubMenu1(){intm;while(1){cout*********************图书信息管理*****************************endl;cout**************************************************************endl;cout*********************1.新增图书***************
本文标题:c++课设图书管理系统
链接地址:https://www.777doc.com/doc-5420248 .html