图书馆管理系统c语言_第1页
图书馆管理系统c语言_第2页
图书馆管理系统c语言_第3页
图书馆管理系统c语言_第4页
图书馆管理系统c语言_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、课程报告课程名称:程序设计实践专业班级:信息类1006班学生姓名:杜威科学号:201046830622任课教师:徐振强学期:学10-2011学年第二学期课程报告任务书题目图书信息管理系统主要内容开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。使之能提供以下基本功能:(1)图书信息录入功能(图书信息用文件保存)一一输入(2)图书信息浏览功能一一输出(3)查询功能(至少一种查询方式卜排序功能(壬少'一种排序方式):按书名查询按作者名查询按照价钱排序按出版时间排序等等(4)图书信息的删

2、除与修改扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)报表打印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。(4)模糊查询(5)综合查询(6)统计功能比如统计处某一类别的图书信息或筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。任务要求一、提交材料应包括:(1)系统源代码(2)课程报告二、整个设计过程具体要求(1)需求分析要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;(2)设计过程要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)(3)实现过程要求学生养成良好的编码

3、习惯、完成各个模块并进行测试,最终完成系统整体测试;(4)总结阶段按照要求完成系统设计和实现报告,并进行总结、答辩。成绩评定报告撰写情况(30分)系统完成情况(30分)答辩情况(40分)总分内容20分规范程度5分程序测试5分基本功能20分扩展功能10分自述情况10分答辩情况30分成绩评定教师:1 需求分析针对一般图书管理信息系统的需求,通过对图书管理信息工作的实际分析,设计出如下的图书信息:图书编号,图书名字,图书作者,图书出版社,图书价格,五个基本信息,由于图书的其他信息在程序上实现的过程基本相同,所以选出最具代表性的集中图书信息作为程序设计实践的数据2概要设计1. 系统程序结构主函数mai

4、n通过调用intchoiceuser();/用户选择访问身份,intadmmenu();/管理员的功能选择,intvisitormenu();/访客的功能选择,voidcreat();/录入图书,voidbrowsebook();/浏览图书,voidupdatebook();/修改图书信息,voiddeletebook();/删除图书,voidsortbook();/排序图书,voidquerybook();/查询图书,voidexport();/导出所需的图书信息,voidfuzzyquery();/模糊查询图书信息,特色功能,以及这些函数分别又再次调用其所属子函数,实现图书管理系统的图书信

5、息的录入,显示,修改,删除,排序,查询,导出,特别是模糊查询等功能。2. 系统宏定义,调用函数,结构体如下:# defineBI10bookid定义图书编号长为10# defineBN31bookname定义图书名字长为15个字# defineBA11bookname定义图书作者长为5个字# defineBP25bookpublisher定义图书出版社长为12个字typedefstructbookcharidBI;/id定义为字符型防止定义为整形是id超出取值范围charnameBN;charauthorBA;charpublisherBP;doubleprice;structbook*nex

6、t;最新范本,供参考!Book;自定义类型Bookintchoiceuser();/用户选择访问身份intadmmenu();/管理员的功能选择intvisitormenu();/访客的功能选择voidshowfile();voidcreat();/录入图书voidbrowsebook();/浏览图书intjudgeclass();/判断classes是否为空intopenclass(charbooktype);/打开class并且读出booktypeBook*filetolink(charbooktype);/从图书类型文件中读出数据到链表voidupdatebook();/修改图书信息vo

7、iddeletebook();/删除图书Book*deletebyid(Book*head,charid);/按图书编号删除Book*deletebyname(Book*head,charname);/按图书名字删除Book*deletebyauthor(Book*head,charauthor);/按图书作者删除voiddeletebybooktype();/删除图书类型,谨慎使用voidsortbook();/排序图书Book*sortbyid(Book*head);/Book*sortbyname(Book*head);/Book*sortbyauthor(Book*head);/Boo

8、k*sortbyprice(Book*head);/voidquerybook();/查询图书Book*querybyid(Book*head);/Book*querybyname(Book*head);/Book*querybyauthor(Book*head);/voidexport();/导出所需的图书信息voiddirectexport(Book*head);/voidexportaftersortbyid(Book*head);/voidexportaftersortbyname(Book*head);/voidexportaftersortbyauthor(Book*head);/

9、voidexportaftersortbyprice(Book*head);/voidfuzzyquery();/模糊查询图书信息,特色功能voidfuzzyquerybyid(Book*head);/按图书编号模糊查询voidfuzzyquerybyname(Book*head);/按图书名字模糊查询voidfuzzyquerybyauthor(Book*head);/按图书作者模糊查询voidfuzzyquerystackroom();/模糊查询书库最新范本,供参考!3.程序总体框架访客菜单管理员菜单模糊查询,按编号,名字,作者模糊查询导出图书排序后或直接导出到D盘文件查询图书,按编号,名

10、字,作者查询修改图书,先调用先查询函数,后修改排序图书,按编号名字作者价格排序删除图书,按编号,名字,作者删除查看图书,显示所有图书类型的信息图书录入,新建或者添加图书信息退由系统最新范本,供参考!3详细设计*main()/主函数Book*head=NULL;intchoice;if(choiceuser()while(choice=admmenu()switch(choice)case1:creat();break;case2:browsebook();break;case3:deletebook();break;case4:sortbook();break;case5:updatebook

11、();break;case6:querybook();break;case7:export();break;case8:fuzzyquery();break;case9:fuzzyquerystackroom();break;default:printf("n您输入的数据无效,请按任意键继续");getch();break;elsewhile(choice=visitormenu()switch(choice)case1:browsebook();break;case2:sortbook();break;case3:querybook();break;case4:expor

12、t();break;case5:fuzzyquery();break;case6:fuzzyquerystackroom();break;default:printf("n您输入的数据无效,请按任意键继续");getch();break;printf("您已经退出本系统,欢迎再次使用!n");*voiddeletebook()/删除图书的主调用函数FILE*fbtype;charbooktype20,idBI,nameBN,authorBA,id0BI;intn=1,i;Book*head,*p;if(judgeclass()=0)return;if(o

13、penclass(booktype)=0)return;最新范本,供参考!head=filetolink(booktype);if(head=NULL)return;printf("t删除图书nn");printf("ttt0-退出删除图书nnttt1-按图书编号删除nn");printf("ttt2-按图书名字删除nnttt3-按图书作者删除nn");printf("ttt4-按图书类型删除(谨慎使用)nn");printf("tnn");printf("请选择您要删除图书方式的代号

14、:");scanf("%d",&i);getchar();switch(i)case0:break;case 1:printf("n输入图书编号为0时退出删除nn");printf("请输入你要删除的图书编号:");scanf("%s",id);getchar();while(strcmp(id,"0")!=0)switch(strlen(id)case1:strcpy(id0,"0000");strcpy(id,strcat(id0,id);break;c

15、ase2:strcpy(id0,"000");strcpy(id,strcat(id0,id);break;case3:strcpy(id0,"00");strcpy(id,strcat(id0,id);break;case4:strcpy(id0,"0");strcpy(id,strcat(id0,id);break;case5:break;default:printf("你输入的图书编号过长,请按任意键结束");最新范本,供参考!getch();return;head=deletebyid(head,id);i

16、f(head=NULL)printf("该类型中的图书信息已经完全删除,请回车继续");getchar();break;printf("请输入你要删除的图书编号:");scanf("%s",id);getchar();break;case 2:printf("n输入图书名字为0时退出删除nn");printf("请输入你要删除的图书名字:");scanf("%s",name);getchar();while(strcmp(name,"0")!=0)head

17、=deletebyname(head,name);if(head=NULL)printf("该类型中的图书信息已经完全删除,请回车继续");getchar();break;printf("请输入你要删除的图书名字:");scanf("%s",name);getchar();最新范本,供参考!break;case 3:printf("n输入图书作者为0时退出删除nn");printf("请输入你要删除的图书作者:");scanf("%s",author);getchar();w

18、hile(strcmp(author,"0")!=0)head=deletebyauthor(head,author);if(head=NULL)printf("该类型中的图书信息已经完全删除,请回车继续");getchar();break;printf("请输入你要删除的图书作者:");scanf("%s",author);getchar();break;case4:deletebybooktype();return;default:printf("您输入的数据无效!请按任意键继续");get

19、ch();return;/删除图书后存入文件if(fbtype=fopen(booktype,"wb")=NULL)printf("该类型图书信息由于某种原因无法删除,请回车以继续!");getchar();return;p=head;while(p)fwrite(p,sizeof(Book),1,fbtype);p=p->next;fclose(fbtype);*voidsortbook()/排序图书的主调用函数charbooktype20;intn=1,i;Book*head;if(judgeclass()=0)return;if(opencl

20、ass(booktype)=0)return;head=filetolink(booktype);if(head=NULL)return;printf("nt排序图书nn");printf("ttt0-退出排序图书nnttt1-按图书编号排序nn");printf("ttt2-按图书名字排序nnttt3-按图书作者排序nn");printf("ttt4-按图书价格排序nn");printf("tnn");printf("请选择您要排序图书方式的代号:");scanf(&quo

21、t;%d",&i);getchar();switch(i)case0:break;case1:sortbyid(head);break;case2:sortbyname(head);break;case3:sortbyauthor(head);break;case4:sortbyprice(head);break;default:printf("您输入的数据无效!按任意键继续");getch();break;*voidquerybook()/查询图书的主调用函数charbooktype20;intn=1,i;Book*head;if(judgeclass(

22、)=0)return;if(openclass(booktype)=0)return;head=filetolink(booktype);if(head=NULL)return;printf("nt查询图书nn");printf("ttt0-退出查询图书nnttt1-按图书编号查询nn");printf("ttt2-按图书名字查询nnttt3-按图书作者查询nn");printf("tnn");printf("请选择您要查询图书方式的代号:");scanf("%d",&

23、;i);getchar();switch(i)case0:break;case1:querybyid(head);break;case2:;querybyname(head);break;case3:querybyauthor(head);break;default:printf("您输入的数据无效!按任意键继续");getch();break;*voidexport()/导出图书的主调用函数charbooktype20;inti;Book*head;if(judgeclass()=0)return;if(openclass(booktype)=0)return;head=

24、filetolink(booktype);if(head=NULL)return;printf("nt导出图书信息");printf("nn");printf("ttt0-退出导出图书信息nn");printf("ttt1-直接导出该类型的图书信息nn");printf("ttt2-按图书编号排序后导出nn");printf("ttt3-按图书名字排序后导出");printf("nnttt4-按图书作者排序后导出nn");printf("ttt5

25、-按图书价格排序后导出nn");printf("t");printf("nn");printf("说明:导出信息将自动保存在D盘图书馆管理系统文件夹下,");printf("导出信息以文本形式存放。为保证你导出的图书信息有效,");printf("请及时移出该文件夹。nn");printf("请选择您要导出图书信息方式的代号:");最新范本,供参考!scanf("%d",&i);getchar();/自动创建文件夹图书馆管理系统"

26、;);switch(i)case0:break;case1:directexport(head);break;case2:exportaftersortbyid(head);break;case3:exportaftersortbyname(head);break;case4:exportaftersortbyauthor(head);break;case5:exportaftersortbyprice(head);break;default:printf("您输入的数据无效!按任意键继续");getch();break;*voidfuzzyquery()/特色功能,模糊查

27、询图书信息charbooktype20;inti;Book*head;if(judgeclass()=0)return;if(openclass(booktype)=0)return;head=filetolink(booktype);if(head=NULL)return;printf("nt模糊查询(特色功能)");printf("nn");printf("ttt0-退出模糊查询nnttt1-按图书编号模糊查询nn");printf("ttt2-按图书名字模糊查询nn");最新范本,供参考!printf(&qu

28、ot;ttt3-按图书作者模糊查询nn");printf("tnn");printf("请选择您要模糊查询图书方式的代号:");scanf("%d",&i);getchar();switch(i)case0:break;case1:fuzzyquerybyid(head);break;case2:fuzzyquerybyname(head);break;case3:fuzzyquerybyauthor(head);break;default:printf("您输入的数据无效!按任意键继续");ge

29、tch();break;*最新范本,供参考!1,测试数据1111111111图书编号111图书名字1I1图书作者11图书出版社1图书价格1100230111程序设计11I1何钦铭11高等教育出版社1123.30100210111大学物理|罗益民I北京邮电大学出版社I158.00|1200101计算机组装与维护1秦杰1清华大学出版社11132.00|1010301111工程数学线性代数1同济大学11II1高等教育出版社11115.10|1030101111高等数学上册1同济大学11II1高等教育出版社11130.30|1020301111高等数学下册1同济大学11高等教育出版社11125.90|

30、100002111大学体育教程1中俊111河南人民出版社1128.80|1000301c程序设计上机指导|1I1谭浩强11清华大学出版社11121.00100401111大学英语读写教程11I1郑树棠111外研社11132.90|100304111大学英语听说教程11I1徐钟111外研社11133.90|100054111数据结构11I1张瑞军11清华大学出版社1123.00|112345111大学计算机应用1王益斌I中国水利水电出版社I128.00|1005041高数习题(黄皮书)11I刘f11河南,业大学I1118.80|100450111卡耐基成功学11卡耐基11中国城市出版社1130.

31、00|11111111112,数据要求图书编号小于等于五位。图书名字小于等于九个字。图书作者小于等于四个字。图书出版社小于等于九个字。图书价格小于等于五位。5测试结果打开图书管理系统的首界面川"F:C语言程序设计,程序设计实践'图书管理系统杜威科Deb."F二K语言程序设计程序设计实践T图书管理系邈t威不课程名称工程序设计实践制作人;杜威科学院,信息科学与工程学院班级:电气信息类1刖6班学号工20104&830&22任课教师;徐振强学期:如m-2阻1学年第二学期展任意键进入系统.窜F:C语言程序设一.D:图书馆管理系统dt/k-Microso.嗡课程

32、报告杜威?用户身份选择图书馆管理系统Wr tEE G 管理网访客身份F:式语言程序设请选着用户身份, 1)输入密码.你只有三次机会哦dwk - Nicroso最新范本,供参考!0退出系统3-删除图书E查询图书9-全库查询1录入图书4排序图书7导出信息(超级查询)管理员主页面2查看图书5修改图书8-模糊查询(特色功能)当前记录的总数为:4种图书类型,请根据当前存储情况,选择适当操作.青输入您的选择;图书录入功能界面当前记录的总数为:4种图书类型,请根据当前存储情况,选择适当操作勺请输入您的选择:1录入图书日一退出录入1一新建类型2录入图书信息到社会科学3录入图书信息到自然科学4录入图书信息到人文

33、科学S一录入图书信息到报刊杂志请选择您因笑另编同京二图书查看功能请输入您的选择:2社会科学中的信息如下此类里共有图书本数门4图书编号图书名字图书作者图书出版社图书价格00230程序设计何钦铭高等教育出版社23.3000210大学物理罗益民北京邮电大学出版社58.0020010讨算机组装与维护秦杰清华大学出版社32.00工程数学线性代数同济大学高等教育出版社15.1003010高等数学上册同济大学高等教育出版社30.3002030高等数学下册同济大学高等教育出版社25.90函目殡大学体育教程丁英俊河南人民出版社28*8。M0030心程序设计上机指导谭浩强清华大学出版社21.0000401大学英语

34、读写教程郑树案外研社32-9000304大学英语听说教程徐钟外研社33.9000054数据结构张瑞军清华大学出版社23.0312345大学计算机应用王益斌中国水利水电出版社28.3000504高数习题(黄皮书)刘一勋河南工业大学18.80卡耐基成功学卡耐基中国城市出版社30.00此类型共有图书本数壮图书编号图书名字图书作者图书出版社图书价格00022高等数学同济大学高等教育出版社25_90报刊杂志中的信息如下此类型共有图书本数|图书编号图书名字图书作者图书出版社图书价格|111图书删除功能界面删除图书目一退出删除图书1一按图书编号删除2按图书名字删除3按图书作者删除4按图书类型删除(谨慎使用)

35、选择您要删除图书方式的代号,排序功能界面排序图书。一退出排序图书1一按图书编号排序2按图书名字排序3按图书作者排序4一按图书价格排序情选择您要排序图书方式的代号I最新范本,供参考!修改功能界面查询功能界面最新范本,供参考!导出功能界面民选择您要查询图书方式的代号;查询图书0一退出查询图书1按图书编号查询2按图书名字查询3按图书作者查询4一技图书作者排序后导出5按图书价格排序后导出说明二导出信息将自动保存在D盘图书馆管理塞统文件夹下,导出信息以文本形式存放. 为保证你导出的图书信息有效,请及时移出该支件夹。甯选择您要导出图书信息方式的代号;:-导出图书信息。一退出导出图书信息1 一直接导出该类型

36、的图书信息2 按图书编号排序后导出3 按图书名字排序后导出单明:想要修改图书信息,必须先要找到你想修改的图书! V选择您查找要修改图书方式的代号工修改图书。一退出修改图书1 一按图书褊号查找要修改的图书 2按图书名字查找要修改的图书3按图书作者查找要修改的图书按图书编号排序模糊查询(特色功能)加-退出模糊查询-按图书编号模糊查询2按图书名字模糊查询3按图书作者模糊查询强遒择与夏模糊查询图书方式的代号:.-I讣sit_:"*由于本系统功能太多,不好一一截图测试的数据,所以选出最具代表性的几个结果""F:C语言程序设计、程序设计实践、图书管理系统杜威科Deb一.2按图

37、书名字排序3按图书作者排序4一按图书价格排序请选择您要排序图书方式的代号:工按图书编号排序后的图书信息如下:图书编号图书名字图书作者图书出版社图书价格M0B2大学体育教程丁英俊河南人民出版社28.8000030程序设计上机指导谭浩强清华大学出版社21.0000054数据结构张瑞军清华大学出版社23.8000210大学物理罗益民北京邮电大学出版社58.000230程序设计何钦铭高等教育出版社23.3000304大学英语听说教程徐钟外研社33.?000401大学英语读写教程郑树棠外研社32.9009450卡耐基成功学卡耐基中国城市出版社30.8000504高数习题(黄皮书)刘一勋河南工业大学18.

38、8001030工程数学线性代数同济大学高等教育出版社15.1002030高等数学下册同济大学高等教育出版社25.90S3010高等数学上册同济大学高等教育出版社30.3012345大学计算机应用王益斌中国水利水电出版社28.0020010计算机组装与维护秦杰清华大学出版社32.00搜狗拼音半:最新范本,供参考!查询图书日一退出查询图书1按图书编号查询2按图书名字查询3按图书作者查询隹选择您要查询图书方式的代号:1除输入你要查询的图书编号54图书编号图书名字图书作者图书出版社图书价格08054数据结构张瑞军清华大学出版社23.00已成功找到所要查询的图书,请按任意键继续按价格排序后导出r按价格排序后导出图书信息.七田-记事本口回区文

温馨提示

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

评论

0/150

提交评论