C++图书管理系统课程设计(37页).doc





《C++图书管理系统课程设计(37页).doc》由会员分享,可在线阅读,更多相关《C++图书管理系统课程设计(37页).doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C+图书管理系统课程设计-第 32 页课 程 设 计课程名称面向对象程序设计课程设计题目名称图书管理系统专业班级2015级计算机科学与技术1班学生姓名学 号指导教师二一六年十一月二十日蚌埠学院计算机科学与技术系课程设计任务书课 程面向对象程序设计课程设计班级2015级计科1班指导教师题 目图书管理系统完成时间2016年11月21日至2016年12月18日主要内容要求完成以下功能:1对图书信息进行查询、更改、删除2对读者信息进行查询、更改、删除3通过输入读者编号和图书编号进行借阅图书4. 通过读者编号和图书编号进行还书5要求有错误提示功能,输入不正确提示错误设计报告要求1封面 2课程设计任务书
2、3分工协作说明4课程设计报告 目录 引言 系统总体方案 设计思路和主要步骤 各功能模块和流程图 程序类的说明 系统测试 结论 致谢 参考文献 附录(程序代码)5.以班级为单位(文件夹),提交各组工程调试、运行代码(每组1个文件夹)。说明:学生完成课程设计后,提交课程设计报告及软件,要求文字通畅、字迹工整(也可以打印),文字不少于5000 字,并装订成册。版面要求1 题目用黑体三号,段后距18磅(或1行),居中对齐;2 标题用黑体四号,段前、段后距6磅(或0.3行);3 正文用小四号宋体,行距为1.25倍行距;4 标题按“一”、“”、“1”、“”顺序编号。上机时间安排星期周次一二三四五第13周-
3、第16周3-4节3-4节指导时间地点上机时间,计算机基础实验室(B532、A502)分工协作说明(以列表形式具体说明每个人所做的工作)课题名称学生姓名学号所做的工作图书管理系统团队总体分工、课程设计的整体设计、程序代码的编写、程序修改部分代码的编写、部分资料查询、资料的收集与分析部分课程设计说明书的书写、修改课程设计中不完善的地方资料的收集与分析、部分课程设计说明书的书写课程设计的总结、参考资料的查询及提取有用内容最后总结调试。由所有组员共同完成蚌埠学院计算机科学与技术系本科课程设计成绩评定表项目权重分值具体要求得分文献阅读与调查论证0.20100能独立查阅文献和从事其它调研;有收集、加工各种
4、信息的能力设计质量0.30100设计合理、功能齐备,程序运行正常,实验数据准确可靠;有较强的实际动手能力论文撰写质量0.20100设计说明书完全符合规范化要求,用A4复印纸打印成文学习态度0.20100学习态度认真,科学作风严谨,严格按要求开展各项工作,按期完成任务学术水平与创新0.10100设计有创意,有一定的学术水平或实用价值总分评语:等级: 指导教师: 年 月 日目 录一 引言1二 系统总体方案2三 设计思路7 功能需求7 数据需求7 性能需求7四 各功能模块8五 流程图9六 程序类的说明11七 系统测试14 运行14 调试20 测试21八 结论22九 致谢22十 参考文献23十一 附录
5、(程序代码)23一 引言当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。图书管理系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理
6、的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在
7、借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这些问题,有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。为了联系实际,考虑各层次学校的情况,软件本身要求易学,界面友好,容易掌握,可以较简单方便的管理各种图书信息;硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆。系统的总体特点应该是方便、简单、实用。二 系统设
8、计方案设计一个总菜单,1图书信息,2读者信息,3借阅图书,4归还图书。基本功能的实现都将体现在这几个菜单选项中。函数原型和数据结构如下:const int Maxr=100 ;/最多的读者数 const int Maxb=100; /最多的图书数 const int Maxbor=5; /每位读者最多借的书class Book/图书类,实现对图书的描述,图书的编号,书名,借出,还入等功能 class BDatabase/图书库类,实现对图书的维护,查找,删除class Reader/读者的信息描述class RDatabase/读者类库,实现建立读者的个人资料void main() /实现程序
9、的主界面char bname15;char cname15;char auname15;char choice4;char choice5;char choice6;char choice7;int bookid,readerid; RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b; coutnnn;coutttttt 欢迎光临图书馆管理系统!endl;coutttttt* 1、读 者 模 式 *endl;coutttttt* 2、管 理 员 模 式 *endl;coutttttt* 0、退 出 *choice7;switch(c
10、hoice7)case 1:coutttttt 欢迎光临图书馆管理系统!endl; coutttttt* 1.图 书 查 询 *endl; coutttttt* 2.退 出 系 统 *choice4; switch(choice4)case 1:coutttttt* 1.按图书编号查找 *endl; coutttttt* 2.按图书书名查找 *endl; coutttttt* 3.按图书作者查找 *endl; coutttttt* 4.按图书出版社查找*endl; coutttttt* 0.返 回 *endl; coutchoice5; switch(choice5) case 1: cout
11、bookid; b=BookDB.query1(bookid); if(b=NULL) cout该图书不存在!; break; coutsetw(6)编号setw(18)书名setw(10)作者setw(10)出版社setw(10)存量disp(); break; case 2: coutbname; b=BookDB.query2(bname); break; case 3: coutauname; b=BookDB.query3(auname); break; case 4: coutcname; b=BookDB.query4(cname); break; case 0: break;
12、case 2:exit(1);case 2:BookDB.song();coutnnn; coutttttt 欢迎光临图书馆管理系统!endl;while(choice5!=0) coutn;coutnttttt* 图 书 管 理 系 统*nn; coutttttt* 1.图 书 信 息 *endl; coutttttt* 2.读 者 信 息 *endl; coutttttt* 3.借 阅 图 书 *endl; coutttttt* 4.归 还 图 书 *endl; coutttttt* 0.退 出 *endl; coutchoice6; switch (choice6) case 1: Bo
13、okDB.bookdata(); break; case 2: ReaderDB.readerdata(); break; case 3: couttttt借书操作endl; coutreaderid; r=ReaderDB.queryid(readerid); if(NULL=r)/按编号查找是否有该读者 cout不存在该读者,不能借书!endl; break;coutbookid; b=BookDB.query1(bookid); if(b=NULL)/按编号查找是否有该图书 cout不存在该图书,不能借书!borrowbook()=0) cout该图书已借完,不能借书!endl; bre
14、ak; cout读者借书成功!borrowbook(b-getno(); break;case 4:couttttt还书操作endl; coutreaderid; r=ReaderDB.queryid(readerid); if(r=NULL) cout不存在该读者,不能还书endl; break; coutbookid; b=BookDB.query1(bookid); if(b=NULL) cout不存在该图书,不能还书retbook(); r-retbook(b-getno(); break; default: break;case 0:break;default: break;三 设计
15、思路 功能需求设计一个通过链表实现对图书信息进行管理的程序,要求完成以下功能:1、建立图书库类,可以对图书的具体信息进行管理,例如:图书号、书名及出版社、作者、册数;2、将输入信息按图书号进行从小到大的排序;3、实现查询功能输入书名,查询输出相关信息;4、实现修改功能修改图书信息;5、实现删除功能输入书名或书号,可将其信息从图书库类中删除;6、建立读者库类,可以对读者的具体信息进行管理,例如:读者编号、姓名;7、将输入信息按读者编号进行从小到大的排序;8、实现查询功能输入读者编号或者姓名,查询输出相关信息;9、实现修改功能修改读者信息;10、实现删除功能输入读者名或读者编号号,可将其信息从读者
16、库类中删除; 数据需求需要向系统输入图书号、书名及出版社、作者、册数、图书位置需要记录读者编号、姓名、班级、手机号 性能需求在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。四 功能模块设计根据分析整个系统主要划分为4个大类、4个功能模块,分别执行要求中的功能。该系统需要有图书信息管理、读者信息管理,图书借阅、图书归还等。1、图书类(class Book)模块中,可以实现对图书信息的描述,管理图书的编号、书名、借出、归还等功能。2、图书库类(class BDatabase)模块中,实现对图书的新增、维护、删除等功能,其中构造函数BDatabase()实现对新
17、增图书信息的录入,并自动保存在book.txt文件中。3、读者类(class Reader)模块中,对读者信息新增、借书、还书及读出读者信息等功能。4、读者库类(class RDatabase)模块中,实现建立读者信息,删除读者信息及查找读者,并将读者有关信息自动保存在reader.txt文件中。5、除了图书类及读者类两大模块还有图书借阅功能,通过图书编号和读者编号记录借出图书及相关信息且图书库中库存数量自动减一。6、图书归还功能通过读者编号及图书编号确认图书归还。五 流程图图书管理系统借阅系统归还系统图书信息读者信息图1 图书管理系统流程图图书信息全删全显返回查找删除修改新增图书位置新书出版
18、社新书数量新书作者新书书名新书编号图2 图书信息管理流程图读者信息新增返回全删全显修改删除查找手机号班级编号姓名图3 图书信息流程图六 程序类的说明四 个 类图书类图书库类读者类读者库类6.1图书类该类实现对图书的描述,图书的编号,书名,借出,还入等功能Book+tag:int+no:int+name20:char+author20:char+cbs20:char+onshelf:int+getname():char+ getauthorname():char+ getcbsname():char+ getno():int+ gettag():void+ setonshelf(int oa):
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 图书 管理 系统 课程设计 37

限制150内