一个应用于图书馆的图书管理系统c05_第1页
一个应用于图书馆的图书管理系统c05_第2页
一个应用于图书馆的图书管理系统c05_第3页
一个应用于图书馆的图书管理系统c05_第4页
一个应用于图书馆的图书管理系统c05_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文档根源为:从网络采集整理.word版本可编写.支持.一、题目:一个应用于图书室的图书管理系统(c05)二、设计思路1、整体设计1)剖析程序的功能录入图书,包含录入图书的编号、书名、作者、数目;借阅图书,包含借书人的借书证序号、借阅的天数,借阅图书的编号,而且书借出时能够经过书的编号查找到对应的借书人的资料;送还图书;注销旧书,把旧书从书库中删除;查问图书,能够依据图书编号、书名或作者进行图书的查找;改正图书,当输入有误或其余状况需要改正某条图书信息时,能够进行改正。2)系统整体构造:设计程序的构成模块,简述各模块功能。该程序由一个主函数和九个其余函数及一个头文件构成。主函数用于内存数据的初始

2、化和功能的选择。其余各函数分别达成录入图书、借阅图书、送还图书、注销旧书、查问图书、改正图书、依据图书编号查问、依据图书名称查问、依据图书作者查问等功能。2、各功能模块的设计:说明各功能模块的实现方法主函数经过使用循环初始化构造体数组,经过switch语句实现功能的选择注册图书:是经过for循环找到空的构造体,将新书的资料输入;借阅图书:是先经过查找所需要借阅的图书编号,进而确立能否有该书,假如存在,则将该借书人的信息存入借书人信息的数组中;送还图书:是经过for循环先找到能否有该书信息,假若有,则将该书的库存量加一,将该借书人的信息清空。注销图书:先经过for循环找到需要注销的数所在地点,而

3、后将图书信息数组中所储存的最后一本的信息将该书的信息覆盖,同时将最后一本书地点的信息清空。改正图书:经过for循环先找到需要进行改正的数的地点,而后输出该书的信息,经过cin,改正该地点的图书信息。查问图书:经过switch语句进行查问功能的选择。依据图书编号查问:采纳for语句经过图书编号进行查问图书的地点。依据图书名称查问:采纳for语句经过图书名称进行查问图书的地点。依据图书作者查问:采纳for语句经过对图书作者进行查问图书的位文档根源为:从网络采集整理.word版本可编写.支持.置。3、设计中的主要困难及解决方案在这部分阐述设计中碰到的主要困难及解决方案。1)困难1:对图书及借书人信息

4、的储存解决方案:采纳构造体数组的方式储藏,2)困难2:怎样将各个功能分别实现解决方案:经过switch语句将各个功能在主函数中调用。4、你所设计的程序最后达成的功能1)说明你编制的程序能达成的功能1)利用switch能够实现图书录入、借阅、送还、注销、查问、改正等功能2)能够实现经过图书编号、名称、作者的查问。2)准备的测试数据及运转结果2100431005国近现代史大纲史2210011100252中国近现代史大纲5.3.张610041001大学物理孙210三、程序清单假如是使用一个文件达成的程序,只要列出程序代码。假如是使用多文件达成的程序,第一说明程序中的代码寄存在哪些文件中,说明文件名(

5、比如:本程序包含first.cpp、second.cpp、third.cpp和all.h四个文件);而后挨次给出每个文件名及该文件清单,比如:本程序包含main.cpp、all.h、regist.cpp、borrow.cppreturnbook.cpp、cancel.cpp、change.cpp、find.cpp、findid.cppfindtitle.cpp、findauthor.cpp十一个文件。、1、main.cpp文件清单:#include#include#includeall.hvoidmain()/主函数bookbk100=1001,大学英语,李,2,1,1003,理,孙,2,1;

6、高等数学计算机基础,王,2,1,1002,张,2,1,1004,新视线大学物文档根源为:从网络采集整理.word版本可编写.支持.humanhu100=102001,30,1004,102002,30,1002,102003,30,1003,102004,30,1004;intj,i=1;charn;for(j=4;j100;j+)bkj.id0=0;huj.user0=0;for(;i!=0;)coutn;switch(n)case1:borrow(bk,hu);break;case2:returnbook(bk,hu);break;case3:regist(bk);break;case4:

7、cancel(bk);break;case5:find(bk);break;case6:change(bk);break;case0:i=0;break;default:cout输入错误,请从头选择:;2、all.h文件清单:头文件structbookcharid10;/chartitle31;charauthor21;/图书编号书名图书的作者inttotal;/intstore;/数目现有库存图书数目;structhumancharuser8;intdays;/charid10;/借书人的借书证序号借阅的天数借阅图书的编号;文档根源为:从网络采集整理.word版本可编写.支持.voidreg

8、ist(bookbk);/注册图书voidborrow(bookbk,humanhu);/借阅图书voidreturnbook(bookbk,humanhu);/送还图书voidcancel(bookbk);/注销图书voidchange(bookbk);/改正图书voidfind(bookbk);/查问图书voidfindid(bookbk,inti);/按图书编号查问voidfindtitle(bookbk,inti);/按图书名称查问voidfindauthor(bookbk,inti);/按图书作者查问3、regist.cpp文件清单#include#includeall.hvoidr

9、egist(bookbk)/注册图书inti;for(i=0;bki.id0!=0;i+);coutbki.id;coutbki.title;coutbki.author;coutbki.total;coutbki.store;4、borrow.cpp文件清单#include#include#includeall.hvoidborrow(bookbk,humanhu)/借阅图书inti,j,k;charid10;for(i=0;bki.id0!=0;i+);for(j=0;hui.user0!=0;j+);coutid;for(k=0;ki;k+)if(strcmp(id,bkk.id)=0)

10、bkk.store-;break;文档根源为:从网络采集整理.word版本可编写.支持.if(k=i)cout不存在此书endl;elsecouthuj.user;couthuj.days;strcpy(huj.id,bkk.id);returnbook.cpp文件清单#include#include#includeall.hvoidreturnbook(bookbk,humanhu)/送还图书inti,j,k,t,p;charid10;for(i=0;bki.id0!=0;i+);for(j=0;hui.user0!=0;j+);coutid;for(k=0;ki;k+)if(strcmp(

11、id,bkk.id)=0)cout您所送还的书为:bkk.idtbkk.titletbkk.authorendl;break;if(k=i)cout您所输入的编号错误!;elsefor(t=0;tj;t+)if(strcmp(id,hut.id)=0)for(p=0;p25;p+)hut.idp=0;hut.userp=0;hut.days=0;bkk.store+;else文档根源为:从网络采集整理.word版本可编写.支持.cout此图书未借出!;cancel.cpp文件清单#include#include#includeall.hvoidcancel(bookbk)/注销图书inti,j

12、,k;charid10;for(i=0;bki.id0!=0;i+);coutid;for(j=0;ji;j+)if(strcmp(id,bkj.id)=0)strcpy(bkj.id,bki-1.id);strcpy(bkj.title,bki-1.title);strcpy(bkj.author,bki-1.author);bkj.total=bki-1.total;bkj.store=bkj-1.store;for(k=0;k25;k+)bki-1.idk=0;bki-1.titlek=0;bki-1.authork=0;bkj.total=0;bkj.store=0;break;if(

13、j=i)cout您要销毁的图书不存在!endl;change.cpp文件清单#include#include#includeall.hvoidchange(bookbk)/改正图书inti,k;charid10;for(i=0;bki.id0!=0;i+);文档根源为:从网络采集整理.word版本可编写.支持.coutid;for(k=0;ki;k+)if(strcmp(id,bkk.id)=0)cout您所要改正的图书为:bkk.idtbkk.titletbkk.authortbkk.totaltbkk.storeendl;break;if(k=i)cout您所输入的图书不存在!endl;e

14、lsecoutbkk.id;coutbkk.title;coutbkk.author;coutbkk.total;coutbkk.store;find.cpp文件清单#include#includeall.hvoidfind(bookbk)/查问图书inti;charn;charid10;for(i=0;bki.id0!=0;i+);coutn;switch(n)case1:findid(bk,i);break;case2:findtitle(bk,i);break;case3:findauthor(bk,i);break;default:coutendl;文档根源为:从网络采集整理.word

15、版本可编写.支持.findid.cpp文件清单#include#include#includeall.hvoidfindid(bookbk,inti)/按图书编号查问charid10;intk;coutid;for(k=0;ki;k+)if(strcmp(id,bkk.id)=0)coutbkk.idtbkk.titletbkk.authortbkk.totaltbkk.storeendl;break;if(k=i)cout您所查找的图书不存在!endl;findtitle.cpp文件清单#include#include#includeall.hvoidfindtitle(bookbk,int

16、i)/按图书名称查问chartitle31;intk;couttitle;for(k=0;ki;k+)if(strcmp(title,bkk.title)=0)coutbkk.idtbkk.titletbkk.authortbkk.totaltbkk.storeendl;break;if(k=i)cout您所查找的图书不存在!endl;11.findauthor.cpp文件清单文档根源为:从网络采集整理.word版本可编写.支持.#include#include#includeall.hvoidfindauthor(bookbk,inti)/按图书作者查询charauthor21;intk;c

17、outauthor;for(k=0;ki;k+)if(strcmp(author,bkk.author)=0)coutbkk.idtbkk.titletbkk.authortbkk.totaltbkk.storeendl;break;if(k=i)cout您所查找的图书不存在!endl;(说明:程序清单中必定要有说明。程序清单部分的行间距设为1行即可)四、对该设计题目有何更完美的方案1、对自己达成程序进行自我评论。第一复习了构造体数组和函数和字符串的有关内容,而后联合学过的for、switch语句对数据进行查找及功能的选择,编写程序,而后进行频频的调试,经过快要一周的时间终于达成了课程设计,可是不过达成了部分课题的创新要求,没有完整达成创新要求。2、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论