ImageVerifierCode 换一换
格式:DOC , 页数:40 ,大小:378.50KB ,
资源ID:4941474      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(图书管理系统实现与开发.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

图书管理系统实现与开发.doc

1、图书管理系统是典型的信息管理系统(MIS)的实现与开发摘 要图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。采用C+作为开发工具,通过对C+进行深入的学习和应用,主要完成利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。同时是学习完面向对象程序设计课程后进行的一次全面的综合练习。有助于加深对面向对象程序设计中基础理论和基本知

2、识的理解,培养了实践能力,促进理论与实践的结合。关键字:图书管理系统;C+;信息管理系统 AbstractBooks management system management system is the typical information management system (MIS), its development mainly includes the setting and maintenance of database and the programming of the frontend application. The former required establish da

3、ta consistency and integrality, data security good storehouse. For the latter requires the application program function complete, easy to use, etc. Using c + + as development tools through in-depth study of c + + and applications, mainly completes use books management system management system of boo

4、k records, including new unified management, change book record books record, delete, realize functions such as book record books management work of the systematic, standardization and automation, provides the convenience for the books management. Meanwhile is after studying the object-oriented prog

5、ram design course of time after comprehensive practice. Help deepen our understanding of the object-oriented programming basic theory and basic knowledge understanding, cultivate the practice ability, promoting the combination of theory with practice. Key word: books management system management sys

6、tem;c + +; information management system Written by:Li Yudan Supervised by:Miao Xiufen目 录1 需求分析 11.1 程序运用的平台 12 整体设计 22.1 书库管理模块 22.2 获取图书信息22.3 设置图书信息32.4 删除图书42.5 添加图书42.6 借书 42.7 还书 52.8显示图书状态 52.9查找图书 52.10读者管理模块 73 详细设计93.1 程序的主要功能 93.2 程序流程图94 调试与测试 104.1 调试测试结果 104.2 存在的不足与对策、编程体会 145 总结1535

7、/ 406 致谢167 参考文献178 附录181 需求分析一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。 以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。 为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写本程

8、序以提高图书馆的管理效率。使用该程序之后,工作人员可以查询某位读者的借阅情况,还可以对当前图书馆内图书进行查看,新书上架,旧书下架,删除所有信息等操作。本次作业设计题目:“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助1.1 程序运行平台VC+ 6.0具体操作如下:该程序是用VC+6.0制做的,使用Microsoft Visual C+ 6.0运行该程序,具体操作是:打开Micro

9、soft Visual C+ 6.0,菜单栏里点文件打开工作区找到“学生成绩管理系统.dsw”这个文件打开,或者在资源管理器中双击该文件,此时,VC+6.0会自动打开,并载入该系统相关资源,点击Run命令菜单或者或用快捷键Ctrl+F5运行该程序。另需要在ODBC中增加名为LibraryDB的图书管理系统的数据源。2 整体设计2.1 图书管理模块该模块实现图书信息的管理,如图书上架、旧书下架、图书查找、图书信息更新、删除所有图书信息。2.1.1 图书类,实现对图书的描述,图书的编号,书名,借出,还入等功能private: int tag; /int no; /图书编号char name20;

10、/书名 char author20;/作者char cbs20; /出版社int cbtime;/出版时间double bookprice;/图书价格int onshelf; /是否再架 1:再架 2:已借出 public: Book(); char *getname()2.1.2 图书库类,实现对图书的维护,查找,删除等class BDatabase /图书库类,实现对图书的维护,查找,删除等 private: int top; /图书记录指针Book bookMaxb; /图书记录public: 2.2 获取图书信息char *getname() /获取书名 return name; ch

11、ar *getauthorname()/获取作者名 return author; char *getcbsname()/获取出版社名 return cbs; int getcbtime()/获取出版时间return cbtime;double getbookprice()/获取图书价格return bookprice;int getno()/获取图书编号 return no; int gettag()/获取删除标记 return tag; 2.3 设置图书信息void setname(char na)/设置书名 strcpy(name,na); void setauthorname(char

12、aa)/设置作者名strcpy(author,aa);void setcbs(char ca)/设置出版社strcpy(cbs,ca);void setcbtime(int time) /设置时间 cbtime=time; void setbookprice(double price)/设置图书价格 bookprice=price;void setonshelf(int oa) onshelf=oa; 2.4 删除图书void delbook()/删除图书char i;cout确定删除吗?Y/N ?i;if(i=y|i=Y) tag=1; 2.5 添加图书void addbook(int n,

13、char *na,char *aa,char *ca,int time,double price,int oa) /增加图书 tag=0; no=n; strcpy(name,na); strcpy(author,aa); strcpy(cbs,ca); cbtime=time; bookprice=price; onshelf=oa; 2.6 借书int borrowbook() /借书操作 if (onshelf0) onshelf-; return 1; return 0; 2.7 还书void retbook()/还书操作 onshelf+; 2.8 显示图书状态void disp()

14、 /输出图书 coutsetw(6)nosetw(10)namesetw(10)authorsetw(10)cbssetw(15)cbtimesetw(15)bookpricesetw(10)onshelfendl; ; 2.9 查找图书Book *query1(int bookid) /按编号查找图书 for(int i=0;i=top;i+) if(booki.getno()=bookid &booki.gettag()=0) return &booki; return NULL; Book *query2(char a) /按书名查找图书 Book *e; int r=0; for(in

15、t i=0;i=top;i+) if(strcmp(booki.getname(),a)=0 &booki.gettag()=0) if(r=0) coutsetw(6)编号setw(10)书名setw(10)作者setw(10)出版社setw(15)出版时间setw(15)图书价格setw(10)存量disp(); r+; if(r=0) cout找不到该书!endl; return NULL; Book *query3(char a) /按作者查找图书 Book *e; int r=0; for(int i=0;i=top;i+) if(strcmp(booki.getauthorname

16、(),a)=0 &booki.gettag()=0) if(r=0) coutsetw(6)编号setw(10)书名setw(10)作者setw(10)出版社setw(15)出版时间setw(15)图书价格setw(10)存量disp(); r+; if(r=0) cout找不到该书!endl; return NULL; Book *query4(char a) /按出版社查找图书 Book *e; int r=0; for (int i=0;i=top;i+) if (strcmp(booki.getcbsname(),a)=0 &booki.gettag()=0) if(r=0)couts

17、etw(6)编号setw(10)书名setw(10)作者setw(10)出版社setw(15)出版时间setw(15)图书价格setw(10)存量disp(); r+; if(r=0) cout找不到该书!endl; return NULL; 2.10 读者管理模块class Reader/读者的信息描述 private: int tag; /删除标记 1表示已删 0表示未删 int no; /读者编号char name20; /读者姓名 int borbookMaxbor; /所借图书 public: Reader() /构造函数 ; 2.10.1 获取读者信息char *getname()

18、 /获取姓名 return name; int gettag() /获取删除标记 return tag; int getno() /获取读者编号 return no; 2.10.2 设置读者信息void setname(char na) /设置姓名 strcpy(name,na); void delbook() /设置删除标记 1:已删 0:未删 char i;cout确定删除吗?Y/N ?i;if(i=y|i=Y) tag=1; 2.10.3 添加读者信息void addreader(int n,char *na) /增加读者 tag=0; no=n; strcpy(name,na); fo

19、r(int i=0;iMaxbor;i+) borbooki=0; 3 详细设计3.1 程序的主要功能通过一个conio类对图书馆书籍进行管理。通过这个管理功能实现对学校书库中书籍数据的输入输出。比如增添某些书籍,删除某些书籍等操作。通过fstream类对图书数据的读取,写入进行管理。比如读者借书时显示所有图书信息,以及还书时的某些操作。3.2 程序流程图开始菜单管理员菜单读者菜单添 删加 除图 图书 书添 删加 除读 读者 者借 还 查 查 看 看 所 自 有 身 图 信书 书 书 息 读者管理员图书维护读者维护后退后退后退后退后退4 调试与测试4.1 调试测试结果4.1.1 开始运行4.1

20、.2 添加图书4.1.3 更改图书信息4.1.4 删除图书4.1.5 查找图书4.1.6 显示图书状态4.1.7 全部删除4.1.8 返回4.2 存在的不足与对策、编程体会 因为掌握的知识有限没能实现自动读取当前日期为借书日期并进行系统自行累加实现还书日期自动生成功能 通过编写图书管理系统,我体会到了一个系统应该作为一个整体来看待,系统具有牵一发而动全身的特性,某一个模块的一个小小错误都可能导致系统其他模块功能的丧失甚至是崩溃,同时在编程时应该按照模块来编写,一个模块实现一个功能,这样在调试的时候就方便检查,还有一个程序写完了,不是真正的结束,还需要不断地调试不断地修改程序中的错误。在编程中出

21、现了一个致命的错误:我在程序中定义了几个函数但是忘记了使用引用导致了最后编译是出现了重大错误,经过好几个小时的仔细排查终于找到了问题所在。 所以此次编程我最大的一个收获是:仔细研究每一个函数的定义,不要出现定义中形参缺少或者实参形参形式不符出现的错误5 总结本系统实现了图书管理系统的典型功能,包括查询所有记录的信息,添加查找等功能,而且具有较高的安全性。但是因为自己独立完成且能力有限,还有部分功能未能完善,例如对书名,编号的排序等等,这些局限性都是有待逐步完善的方面。而且通过这次课程设计,我培养了自己对C+编程的兴趣,编程能力也有所提高,但仍存在许多不足,不能独自写出功能很齐全的代码,写代码要

22、参考很多资料,所以今后应培养自己独立写代码的能力。大一的课程即将结束,程序设计课程设计开始了,但是我发现它并没有我想象的那么容易,从一开始刚刚接触程序设计课程设计的时候我都不知道这是干什么的,对着电脑愣了半天不知道要干什么,后来我询问了一下大二计算机专业的学长,他告诉我了一些知识,同时我的老师给了我们一些指导,同学们也是互帮互助,所以我对这门课程有了进一步的了解。我要感谢学校给我提供的良好的环境,让我们可以在机房好好的学习。同时感谢老师对我的指导和帮助,感谢高年级哥哥姐姐给我的鼓励让我逐渐有了信心,也感谢帮助我的同学们。是你们对我的帮助和耐心指导,让我有信心完成这次作业,是你们给了我信心,也给

23、了我无尽的希望。6 致 谢大一的课程即将结束,程序设计课程设计开始了,但是我发现它并没有我想象的那么容易,从一开始刚刚接触程序设计课程设计的时候我都不知道这是干什么的,对着电脑愣了半天不知道要干什么,后来我询问了一下大二计算机专业的学长,他告诉我了一些知识,同时我的老师给了我们一些指导,同学们也是互帮互助,所以我对这门课程有了进一步的了解。我要感谢学校给我提供的良好的环境,让我们可以在机房好好的学习。同时感谢老师对我的指导和帮助,感谢高年级哥哥姐姐给我的鼓励让我逐渐有了信心,也感谢帮助我的同学们。是你们对我的帮助和耐心指导,让我有信心完成这次作业,是你们给了我信心,也给了我无尽的希望。7 参考

24、文献1 谭浩强 C+面向对象程序设计北京:清华大学出版社,20062 谭浩强 C+程序设计实践指导北京:清华大学出版社,20053 刘玉英、张怡芳等C+实验指导与课程设计人民邮电出版社,20078 附录程序源代码#include#include /控制台数据输入输出的函数#include/文件流#include /控制数据输出格式#includeconst int Maxr=100 ;/最多的读者数 const int Maxb=100; /最多的图书数const int Maxbor=5; /每位读者最多借的书class Book /图书类,实现对图书的描述,图书的编号,书名,借出,还入等功

25、能private: int tag; /int no; /图书编号char name20; /书名 char author20;/作者char cbs20; /出版社int cbtime;/出版时间double bookprice;/图书价格int onshelf; /是否再架 1:再架 2:已借出 public: Book(); char *getname()/获取书名 return name; char *getauthorname() /获取作者名 return author; char *getcbsname()/获取出版社名 return cbs; int getcbtime()/获

26、取出版时间return cbtime;double getbookprice()/获取图书价格return bookprice;int getno()/获取图书编号 return no; int gettag()/获取删除标记 return tag; void setname(char na) /设置书名 strcpy(name,na); void setauthorname(char aa)/设置作者名strcpy(author,aa);void setcbs(char ca)/设置出版社strcpy(cbs,ca);void setcbtime(int time) /设置时间 cbtime

27、=time; void setbookprice(double price)/设置图书价格 bookprice=price;void setonshelf(int oa) onshelf=oa; void delbook()/删除图书char i;cout确定删除吗?Y/N ?i;if(i=y|i=Y) tag=1; void addbook(int n,char *na,char *aa,char *ca,int time,double price,int oa) /增加图书 tag=0; no=n; strcpy(name,na); strcpy(author,aa); strcpy(cb

28、s,ca); cbtime=time; bookprice=price; onshelf=oa; int borrowbook() /借书操作 if (onshelf0) onshelf-; return 1; return 0; void retbook()/还书操作 onshelf+; void disp() /输出图书 coutsetw(6)nosetw(10)namesetw(10)authorsetw(10)cbssetw(15)cbtimesetw(15)bookpricesetw(10)onshelfendl; ; class BDatabase /图书库类,实现对图书的维护,查

29、找,删除等 private: int top; /图书记录指针Book bookMaxb; /图书记录public: BDatabase() /构造函数,将book.txt读到book中 Book b; 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() /全删 char i;cout确定全部删除吗?Y/N ?i;if(i=y|i=Y) top=-1; int ad

30、dbook(int n,char *na,char *aa,char *ca,int time, double price,int oa) /增加图书 Book *p=query1(n); if (NULL=p) top+; booktop.addbook(n,na,aa,ca,time,price,oa); return 1; return 0; Book *query1(int bookid) /按编号查找图书 for(int i=0;i=top;i+) if(booki.getno()=bookid &booki.gettag()=0) return &booki; return NUL

31、L; Book *query2(char a) /按书名查找图书 Book *e; int r=0; for(int i=0;i=top;i+) if(strcmp(booki.getname(),a)=0 &booki.gettag()=0) if(r=0) coutsetw(6)编号setw(10)书名setw(10)作者setw(10)出版社setw(15)出版时间setw(15)图书价格setw(10)存量disp(); r+; if(r=0) cout找不到该书!endl; return NULL; Book *query3(char a) /按作者查找图书 Book *e; int

32、 r=0; for(int i=0;i=top;i+) if(strcmp(booki.getauthorname(),a)=0 &booki.gettag()=0) if(r=0) coutsetw(6)编号setw(10)书名setw(10)作者setw(10)出版社setw(15)出版时间setw(15)图书价格setw(10)存量disp(); r+; if(r=0) cout找不到该书!endl; return NULL; Book *query4(char a) /按出版社查找图书 Book *e; int r=0; for (int i=0;i=top;i+) if (strcm

33、p(booki.getcbsname(),a)=0 &booki.gettag()=0) if(r=0)coutsetw(6)编号setw(10)书名setw(10)作者setw(10)出版社setw(15)出版时间setw(15)图书价格setw(10)存量disp(); r+; if(r=0) cout找不到该书!endl; return NULL; void bookdata(); /图书库信息void disp() for(int i=0;i=top;i+) if(booki.gettag()=0) booki.disp(); BDatabase() /析构函数,将book写到book

34、.txt文件中 fstream file(book.txt,ios:out); for(int i=0;i=top;i+) if(booki.gettag()=0) file.write(char *)&booki,sizeof(booki); file.close(); ; void BDatabase:bookdata() char choice3; char bname40;/书名char auname40;/作者名char cname40;/出版社int time;/出版时间double price;/价格char ch;int choice4;int bookid;int bookod;Book *b; while (choice3!=0) coutnttt* 图 书 信 息 *nendl; coutttt* 1.新增图书 *endl; coutttt* 2.更改图书信息 *endl; coutttt* 3.删除图书 *endl; coutttt* 4.查找图书 *endl; coutttt* 5.显示图书状态 *endl; coutttt* 6.全部删除 *endl; coutttt* 0.返回 *endl; coutchoice3; switch(choice3) case 1: coutbookid; b=query1(bookid);

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服