ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:177.10KB ,
资源ID:6906195      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6906195.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++图书信息管理系统课程设计论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++图书信息管理系统课程设计论文.docx

1、c+图书信息管理系统课程设计论文 面向对象程序设计 课程设计报告题 目: 图书信息管理系统 专业班级: 通信3班 学生组长: 小组成员: 指导教师: 分 数: 2014 年 4 月 15 日课 程 设 计 任 务 书设计题目图书馆信息管理系统学生姓名所在院系电子信息工程系专业、年级、班11级通信3班设计要求:图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等,设计图书管理系统,使之能提供以下功能:1、系统以菜单方式工作;2、图书信息浏览功能输出;3、查询和排序功能:(至少一种方式)(1)按书名查询;(2)按作者名查询;(3)图书信息的删除与修改(管理员)4、图书信息录入功能

2、(图书信息用文件保存)输入;(管理员)参考文献阅读:1 谭浩强. C+面向对象程序设计.清华大学出版社,2006.12 张春林,马成勇,刘钧.数据库系统设计与开发.清华大学出版社,20053 梁普选. Visual C+程序设计与实践.清华大学出版社.20064 张瑞丰. C+语言程序设计.清华大学出版社,2006工作计划: 由组长将程序细致的分为3个软件模块,分别由3位组员各自完成自己的软件模块设计。最后再将3部分合并。之后再对总的程序进行运行调试及改进。任务下达日期: 2014 年 3 月 22 日任务完成日期: 2013 年 4 月 20 日指导教师(签名): 学生(签名): 目录 第一

3、章、总体设计 41.1设计目的 41.2设计要求 41.3设计方案选取与论证 41.4模块划分与任务安排 5第二章、软件设计 52.1 Book类模块的软件设计 52.2 BDatabase类模块的软件设计 72.3主界面程序模块设计 10第三章、系统实现及调试过程 14第四章、结论 15致谢 16参考文献 16一、总体设计1.1设计目的图书馆提供的物质资源越来越丰富,如何高效准确地对馆藏资料进行整理、借还、盘点成为困扰图书馆管理人员的问题。以前,都是用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。基于这些问题,

4、有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。同时,图书馆是目前生活中除了网络外的另一个获取知识的重要场所,利用图书管理系统可以更加高效查询、寻找到自己所需求的书籍。设计一个图书信息管理系统是学习完面向对象程序设计课程后进行的一次全面综合联系。有助于加深对面向对象程序设计中基础理论和基础知识的理解,培养了实践能力,促进理论与实践的结

5、合。1.2设计要求图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等,设计图书管理系统,使之能提供以下功能:1、系统以菜单方式工作;2、图书信息浏览功能输出;3、查询和排序功能:(至少一种方式)(1)按书名查询;(2)按作者名查询;(3)图书信息的删除与修改(管理员);4、图书信息录入功能(图书信息用文件保存)输入;(管理员)1.3设计方案选取与论证本次课程设计我们组的题目为:图书信息管理系统的开发,总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的

6、分析、设计过程给出一个完整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书信息的管理,其实是对图书信息的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入的了解C+的运用知识。新系统的使用能否可以很好的解决这些问题要看系统的可行性,可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。系统的可行性分析有以下几个方面:(1)技术可行性:处理速度快、准确通过权限的设置,数据的安全性好、方便查询、借阅管理等。 (2)

7、经济可行性:系统建设不需要很大的投入、可缩减人力投入。(3)运行上可行性:本系统作为一个小型的图书馆信息管理系统,所耗费的资源非常的小。 (4)从各种社会因素可行性分析:可降低工作人员工作强度,提高效率,会得到学校工作人员的一致同意的。综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。本系统主要实现对图书馆信息的管理,主要功能为管理有关书籍的信息。本系统结构主要为书籍信息管理模块。书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。1.4模块划分与任务安排由于本系统具有很强的模块性,为了使每一个组员都能过在本次

8、课设上学习到东西,同时也是为了能过合理的分配各个成员的课程设计任务,所以我们组对本系统进行了模块拆分,并由本组的每一个组员负责拆分中凡人一个模块的设计及软件的编写。在每一个模块程序编写完成后,在进行总体的合成、调试。我们设计的系统分为:Book类的设计、BDatabase类的设计。以下是我们组的分配任务:由组员 设计模块:Book类的设计。由组员 设计模块:BDatabase类的设计。由组员 进行主界面程序模块设计。二、软件设计2.1 Book类模块的软件设计(负责同学: ) 本模块主要的作用是录入图书的信息,在程序中先定义一个book类,类中主要分为获取图书类型、获取书名、获取图书编码、获取

9、删除标志、设置书名、设置图书类型、删除图书、增加图书和输出图书9个小的模块其流程图如下:根据设计的流程模块设计程序代码,程序设计了六个私有成员,即删除标记:lab;图书编号:num;增加标记:add;编号:numberStrNum;书名:booknameStrNum;图书类型:bookkindType;同时还设计了同样多的共有成员,使程序能够在运行的时候提取书名、删除书名、添加编号等等。这样的book库实现了图书信息的录入及提取。以下是本系统book类的基本设计程序:class Bookprivate:int lab; /删除标记int num; /图书编号int add; /增加标记char

10、 numberStrNum; /编号char booknameStrNum; /书名char bookkindType; /图书类型public: Book()char getkind() /获取图书类型 return bookkindType; char getname() /获取书名 return booknameStrNum;int getnum() /获取图书编号 return num; int getlab() /获取删除标记 return lab;void setname(char na) /设置书名 strcpy(bookname,na);void setkind(char ki

11、n) /设置类型 strcpy(bookkind,kin);void delbook() /删除图书 lab=1;void addbook(int n,char *na,char *kin) /增加图书 lab=0; num=n; strcpy(bookname,na); strcpy(bookkind,kin);void disp() /输出图书 cout.flags (ios:left); /设置对齐的标志位为左 coutsetw(15)numsetw(20)booknamesetw(15)bookkindendl; ;2.2 BDatabase类模块的软件设计(负责同学: )本模块的设计

12、主要是满足图书信息的保存及文本的写入,与book类相互依存。本模块是实现本系统的重要一部分。设计的框图如下:由于存入的图书信息并不是保存在程序中,而是使它存在book.txt中,所以在本模块设计中,使用了构造函数BDatabase将book.txt读到book中和析构函数BDatabase()将book写到book.txt文件中,实现文本的写入。所以,本部分的作用至关重要。其主要的的程序如下:class BDatabaseprivate: int top; Book bookMaxb; /图书记录public: BDatabase() /构造函数,将book.txt读到book中 Book b

13、; top=-1; fstream file(book.txt,ios:in); while (1) file.read(char *)&b,sizeof(b); if (!file) break; top+; booktop=b; file.close(); void clear() /全删 top=-1; int addbook(int n,char *na,char *kin) /增加图书 Book*p=query(n); if(NULL=p) top+; booktop.addbook(n,na,kin); return 1; return 0; Book *query(int boo

14、kid) /查找图书 for (int i=0;i=top;i+) if (booki.getnum()=bookid &booki.getlab()=0) return &booki; return NULL; void disp() /图书库 for (int i=0;i=top;i+) if (booki.getlab()=0) booki.disp(); BDatabase() /析构函数,将book写到book.txt文件中,实现文本的写入 fstream file(book.txt,ios:out); for (int i=0;i=top;i+) if (booki.getlab(

15、)=0) file.write(char *)&booki,sizeof(booki); file.close(); ;2.3主界面程序模块设计(负责同学: )一个完整的图书信息管理系统需要一个界面来让我们明白无误的功能及使用的流程。主界面模块的设计是更具设计的程序集我们在实际使用中和课设的要求,输出一个界面,是我们能过通过界面的引导,实现对本系统的使用。主界面板设计上,设置了:添加图书、删除图书、查找图书等等7个提示目录。其设计框图如下: 一个合理的主菜单界面,才能够完成我们所需求的各个功能。主要的程序如下:void main() BDatabase BookDB; char choice;

16、 char bname40; char bkind40; char newType20; int bookid; Book*b; while(choice!=0) coutt*n; cout nn; coutttt图 书 管 理 系 统nn; coutttt1 新增图书记录n; coutttt2 更改图书记录n; coutttt3 删除图书记录n; coutttt4 查找图书记录n; coutttt5 显示图书记录n; coutttt6 清空全部记录(慎用)n; coutttt0 退出系统n; cout nn; coutt*n; coutchoice; switch (choice) case

17、 1: cout输入图书编号:bookid; cout输入图书类型:newType; cout输入图书书名:bname; BookDB.addbook(bookid,bname,newType); break; case 2: cout输入图书编号:bookid; b=BookDB.query(bookid); if(b=NULL) cout该图书不存在endl; break; cout输入新的书名:bname; b-setname(bname); cout输入新的类型:bkind; b-setkind(bkind); break; case 3: cout读入图书编号:bookid; b=B

18、ookDB.query(bookid); if(b=NULL) cout该图书不存在endl; break; char tg1; cout确定要删除此记录吗?(Y/N)tg1; if(tg1!=n&tg1!=N) b-delbook(); cout已成功删除该书记录!endl; break; case 4: cout读入图书编号:bookid; b=BookDB.query(bookid); if (b=NULL) cout该图书不存在endl; break; coutdisp(); break; case 5: coutdisp(); break; case 6: char tg2; cou

19、t确定要清空所有记录吗?(Y/N)tg2; if(tg2!=n&tg2!=N) BookDB.clear(); cout已成功清空记录!endl; break; case 0: break; default:cout输入错误,请从新输入(数字为06):; 三、系统实现及调试过程运行程序,系统输出主界面,界面如下:按照输出界面的提示项目,调试各个功能:测试新增图书记录功能 :测试更改图书记录功能:测试删除图书记录功能:测试查找图书记录功能:测试显示图书记录功能:测试清空全部图书记录功能:调试中,我们可以看到本系统以菜单方式工作,具备了图书信息浏览功能,同时还具有查询和排序功能,并能过按按照书名和

20、编号查询录入的图书信息,在图书信息的删除与修改方面也能够实现设计的要求。以下是对本系统完成功能测试的解说。测试单元: 图书信息单元 测试类型:功能测试编号测试说明期望结果实际结果成功/失败1测试新书信息添加是否成功新书信息成功写入数据库数据库中可以找到新添加记录。成功2测试图书删除将输入新书信息删除数据库中新书纪录删除成功3测试图书信息修改将重新输入数据录入到数据库中修改图书信息信息成功成功表3.1 图书信息管理测试用例表测试单元: 查询读者信息单元 测试类型:功能测试编号测试说明期望结果实际结果成功/失败1测试按读者的各项信息是否可以进行查询根据不同的查询信息对读者进行查询显示查询项成功2测

21、试多项的查询条件是否能进行查询根据不同的查询条件对读者信息进行查询显示查询结果成功表3.2查询管理测试用例表根据上面的测试,该系统各功能模块均能正常使用。同时,这些功能也是本次课程设计的任务要求,所以本次课程设计完成。四、结论总结:本系统实现了图书管理系统的典型功能,包括查询所有记录的信息,添加查找等功能,基本符合设计要求,利用类的封装实现了一定的安全性,函数的实现与调用主要在主函数中实现。但是,由于团队能力有限,在图书记录查询上存在一定的缺陷,有待于完善。希望今后能过完善缺陷,实现系统的完美运作。心得:经过一个多月的设计和开发,图书信息管理系统基本开发完毕。其功能基本符合要求。对于数据的一致

22、性的问题也通过程序进行了有效的解决。但是该系统还有许多不尽如人意的地方,在今后有待进一步改善。通过这次课程设计真切地体会到课设的目的并不止于自己单纯任务的完成,而在于学习新的知识并掌握具体的方法,如何具体使用和具体应用你所学所用的语言。从而获得一种本领:就是融会贯通各种语言。回首整个开发设计过程,我学到了很多书本上学不到的东西。比如以前开发软件的时候,一般做的就是编码工作,实现比较简单的功能。但是这次课设,我们要负责图书管理系统的整个开发过程,包括系统可行性分析、系统需求分析、系统概要设计、系统详细设计等方面的工作。在每个设计阶段我都能学到一些新知识,对我的动手能力提高很大。在整个课设过程中,

23、基本上完成了图书管理系统各个模块的功能,达到了课设的要求。页面设计还有进一步改善的地方,我们会在今后的学习工作中着重加强这方面的锻炼。同时,通过此次自主设计加深了对C+的了解,在程序设计上提高了自己的动手能力,在实践中增强了自己的编程水平。而且通过这次可能设计,我们培养了自己对C+变成的兴趣,编程能力也有所提高,但仍存在很多不足,不能独自写出功能很齐全的代码,写代码要参考很多资料,所以今后应培养自己独立写代码的能力。致谢在论文完成之际,首先向我的导师表示深深的谢意,感谢导师在学习上对我们的关怀和帮助。老师在课题阶段给予的指导以及启发性的意见,使我们能够顺利地完成课设任务。老师深厚的学术造诣、严

24、谨的治学态度和忘我的工作作风永远是我学习的榜样和追求的目标。 同时,还要感谢和我同在一个课题组的同学,没有他们,我们不可能顺利完成设计和论文,感谢所有帮助过我的人。参考文献1 谭浩强. C+面向对象程序设计.清华大学出版社,2006.12 张春林,马成勇,刘钧.数据库系统设计与开发.清华大学出版社,20053 梁普选. Visual C+程序设计与实践.清华大学出版社.20064 张瑞丰. C+语言程序设计.清华大学出版社,2006面向对象程序设计 课程设计成绩评定表序号评价指标满分值得分1任务书及设计要求全面、准确102方案的选择及其论证充分、合理103基本原理框图的设计思路正确、有新意104各功能模块的程序设计155系统的安装调试,基本功能的实现256作品的扩展功能与创新107报告结构合理、规范,条理清晰108课程设计过程中的学习态度认真、出勤率高10总 评教师评语:指导教师 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1