薛霞图书管理系统.doc
《薛霞图书管理系统.doc》由会员分享,可在线阅读,更多相关《薛霞图书管理系统.doc(37页珍藏版)》请在咨信网上搜索。
1、成绩 济南大学面向对象程序设计课程设计报告 设 计 名 称 图书管理系统设计 学 院 信息科学与工程学院 专 业 计算机科学与技术 班 级 计1113班 学 号 学 生 姓 名 薛 霞 设计起止时间:2023年9月 2日至 2023年 9月 6日一、 目的及意义本题目要完毕一个图书管理系统,可以让读者实现借书,还书以及图书馆管理员实现图书维护和读者维护的功能,由图书管理员录入图书的信息,涉及图书编号、图书名、作者(涉及多个作者的情况)、出版社、出版日期、定价、馆藏数、借阅数等信息,管理员管理读者的信息,读者信息涉及读者编号、读者姓名、所借图书等,读者可以实现借书、还书等操作。这个系统方便了图书
2、管理员管理系统,图书管理员可以实现图书的查找、删除、添加、更改等功能,以及读者的管理,如:删除读者信息,添加读者信息和更改读者信息的功能。实现这个系统重要是用面向对象的语言C+写的,程序里用到了栈的知识,对于简朴的小程序采用内联函数,在文献中写入以及读出,用常对象指定图书和读者管理人数的最大值,用类数组放图书和读者的信息。在图书类和图书库里采用类的组合,对于日期的存放用到结构体,考虑到多个图书的作者的情况,用getline()输入作者名,以.结束。系统也采用了继承与派生,图书库类继承了图书类,读者库类继承了读者类,都是公有继承。系统界面采用文本菜单方式,交互性好。二、 系统设计(一)、 图书维
3、护1) 增长图书信息 :系统可以实现从键盘上录入新的图书的信息,第一次进入系统,图书库是空的,需要录入图书信息。2) 更改图书信息:系统可以实现从键盘上录入想要更改的图书信息,先输入要修改的图书编号,然后进入修改系统,可以修改图书名字、作者(涉及多个作者的情况)、出版社、出版日期、定价、馆藏数等信息。3) 查找图书信息:系统可以实现查找管理员想要找到的图书信息,只需要输入图书编号,就可以实现查找图书信息。4) 显示图书信息:系统可以实现在屏幕上显示所有图书信息。涉及图书编号、图书名、作者(涉及多个作者的情况)、出版社、出版日期、定价、馆藏数等信息。5) 所有删除图书信息:系统可以实现删除所有图
4、书信息,清空图书库的功能。6) 退出图书维护系统:结束图书维护管理。7) 查询图书馆中图书的馆藏量和借出量。(二)、读者维护1) 新增读者信息:系统可以实现从键盘上录入新的读者信息,第一次进入系统,读者库是空的,需要录入读者信息。2) 更改读者信息:系统可以更改读者的信息,从键盘上输入想要更改的读者编号,就可以修改读者的信息。3) 删除读者信息:系统可以实现删除读者信息,只需要从键盘上输入要删除的读者信息的编号,就可以删除读者信息。4) 查找读者信息:系统可以实现查找读者信息,输入读者的编号,可以查找到读者的所有信息,涉及读者编号、读者姓名、所借图书等。5) 显示读者信息:系统可以显示读者的所
5、有信息。6) 所有删除读者信息:系统可以实现删除所有读者信息,清空读者库的功能。7) 退出读者维护系统:结束读者维护管理。(三)、借书输入要借书的读者编号以及要借的图书,就可以借书。图书库里的本书的馆藏数自动减1,借阅数加1。假如没有找到与之匹配的读者编号,那么系统输出“对不起,不存在该读者,不能借书”。假如没有找到与之匹配的图书编号,那么系统输出“对不起,不存在该图书,不能借书”。假如该图书该读者已经借出去了,那么系统输出“对不起,该图书已借出,不能借书”。假如找到与之相应的编号,则输出“借书成功”。(四)、还书输入要还书的读者信息以及要还的书的编号,就可以还书,还书的时候需要输入借书时间和
6、还书时间,以拟定是否要逾期付款,超过1个月,逾期一天,罚款1角,不超过1个月就不罚款。假如输入的读者有误,那么系统输出“对不起,不存在该读者,不能还书”。假如输入的图书有误,那么系统输出“对不起,不存在该图书,不能还书”。1. 系统功能模块设计开始系统界面如图所示:图书管理系统:可以实现借书,还书,图书维护,读者维护,以及退出系统等功能。图1 图书管理系统界面图图书维护:重要实现增长图书信息,更改图书信息,查找图书信息,显示图书信息,所有删除图书信息,退出图书维护系统的功能。图2 图书管理系统图书维护界面图读者维护:重要实现新增读者信息,更改读者信息,删除读者所借图书信息,查找读者信息,显示读
7、者信息,所有删除读者信息和退出读者维护系统。2. 类的分析与设计系统使用类来组织管理数据,共涉及读者类Student、读者库类Borrow、图书类Book、图书库类Library用来描述图书管里各图书和读者的属性以及操作,读者类Student用来描述读者的基本信息,图书类Book用来描述图书的基本信息,读者库类Borrow用实现读者的增添、删除、查询、更改信息、显示读者基本信息的操作,读者类Library用来描述读者的基本信息,图书类Book用来描述图书的基本信息,读者库类Borrow用实现读者的增添、删除、查询、更改信息、显示读者的基本信息的操作。这几个类综合实现借书、还书。 图书类读者类图
8、书库类读者库类 借书、还书等操作图5 图书管理系统类关系的UML图3. 系统具体设计l 读者类Student.类属性涉及读者编号(number)、读者姓名(name)、所借图书编号(number)、读者所在单位(work)、读者借阅日期Bor1,Bor2、Bor3三个日期分别表达年月日,实现对读者类的描述。成员函数涉及读者无参构造函数(Student),提取读者姓名的函数(getname),提取读者编号的函数(getnumber),重置姓名的函数(setname),重置单位的函数(setwork),增长读者信息的函数(addstudent),借书操作的函数(borrowbook),还书操作的函
9、数(retbook),读出读者信息的函数(output)等。l 读者库类Borrow.类属性涉及读者记录指针(top),读者类的数组rea。成员函数涉及读者库类成员函数(Borrow),清除读者信息的函数(clear),增长读者信息(addStudent),查找是否和编号相匹配的函数(equal),输出读者信息的函数(output),读者库的维护函数,析构函数(Borrow)。l 图书类Book.类属性涉及图书的编号(number),图书的名字(name),图书的作者(bookname),出版社(press),出版日期(date),定价(price),馆藏是否在架(onshelf)。成员函数涉
10、及图书无参构造函数(Book),提取图书名字(getname),提取图书编号(getnumber),修改图书名字(setname),修改作者名(setzbookname),修改出版社(setpress),修改出版日期(setdate),修改定价(setprice),删除图书(delbook),借书操作(borrowbook),还书操作(retbook),输出图书信息(output)。l 图书库类Library.类属性涉及图书数组(book)。成员函数涉及构造函数(Library),清空所有信息(clear),增长图书信息(addbook),查找是否匹配(equal),输出信息(output),
11、析构函数(Library)。创建读者对象和图书对象开始显示图书管理系统操作菜单根据输入执行不同操作完毕借书还书图书维护读者维护退出系统图6 图书管理系统流程图开始图书维护系统菜单增长图书信息修改图书信息查找图书信息显示图书信息所有删除图书信息退出系统图7 图书维护系统图开始读者维护系统菜单增长读者信息修改读者信息删除读者信息查找读者信息显示读者信息退出系统所有删除读者信息图8 读者维护系统图三、 系统调试分析、存在问题与局限性系统的健壮性不大好,还是存在假如输入错误;会导致死循环。系统对读者和图书的内容的修改功能不够完善;借书和还书的时候需要认为的输入借书和还书日期;计算借书时间的时候,不能考
12、虑平年和闰年,不能考虑到不同月份有不同的天数,计算不能做到精确。四、 总结与体会 虽然课程设计中用到的知识点我们都学了,平时上机练习的时候感觉用的很纯熟,但是真的到了综合应用、设计东西的时候,有种摸不到头脑的感觉,很多东西综合运用起来,出现了许多无法调试的错误;并且,设计出来的东西特别麻烦复杂,程序的健壮性若。我们班那些实力很强的人,设计出来的程序,简朴有序,清楚明了,灵活性、扩展性强。 从这次课程中我体会到,程序设计只是学会是远远不够的,他需要我们不断练习、实践。这样我们才会更加纯熟灵活的运用所学的知识,设计出更急简朴,健壮的程序。使我们思考问题的思绪更加灵活,扩宽我们的思维方式,提高我们思
13、考问题解决问题的能力。 解决问题我们要保持头脑清醒,冷静。一点一点的解决。五、 附录源代码:#include #include #include #include using namespace std;const int Reader=100;/最大读者限量const int Maxb=100;/图书馆的最大馆藏量const int Bor=2;/借书的最大限量class Studentprivate: int tag; int number; /读者编号 char name10;/读者姓名 char work20;/工作单位 int borbookBor;/读者编号数组 int bor1B
14、or;/年 int bor2Bor;/月 int bor3Bor;/日public: Student() char *getname()/得到姓名 return name;int gettag() return tag;int getnumber()/读者编号 return number;int getyear(int i)/得届时间return bor1i;int getmonth(int i)return bor2i;int getday(int i)return bor3i;void delbook()/着个删除 tag=1;void addStudent1(int n,char *na
15、,char *wo)/增长读者 tag=0; number=n; strcpy(name,na); strcpy(work,wo); for(int i=0;iBor;i+) borbooki=0;void addStudent(int n,char *na)/增长读者 tag=0; number=n; strcpy(name,na); for(int i=0;iBor;i+) borbooki=0;void setname(char *na) strcpy(name,na);void setwork(char *wo)strcpy(work,wo);void borrowbook(int b
16、ookid)/借书操作for(int i=0;iBor;i+) if (borbooki=0) borbooki=bookid; cout借书时间:bor1ibor2ibor3i; return; int booksum()/书是否借满int j=0;for(int i=0;iBor;i+) if (borbooki!=0) j+;return j;int retbook(int bookid)/还书操作 for(int i=0;iBor;i+) if(borbooki=bookid) borbooki=0; int a,b,c; float j; cout还书时间年,月,日abc; j=-(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。