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

下载本文档

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

文档简介

c语言图书馆管理系统实验报告课程报告课程名称:

c语言图书馆管理系统实验报告专业班级:

信息类1110

学生姓名:

学号:

任课教师:

学期:课程报告任务书题目图书信息管理系统主要内容开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。使之能提供以下基本功能:(1)图书信息录入功能(图书信息用文件保存)--输入

(2)图书信息浏览功能--输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):①按书名查询②按作者名查询③按照价钱排序④按出版时间排序等等(4)图书信息的删除与修改扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)报表打印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。(4)模糊查询(5)综合查询(6)统计功能比如统计处某一类别的图书信息或筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。任务要求一、提交材料应包括:(1)系统源代码(2)课程报告二、整个设计过程具体要求(1)需求分析要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;(2)设计过程要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)(3)实现过程要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;(4)总结阶段按照要求完成系统设计和实现报告,并进行总结、答辩。成绩评定报告撰写情况(30分)系统完成情况(30分)答辩情况(40分)总分内容20分规范程度5分程序测试5分基本功能20分扩展功能10分自述情况10分答辩情况30分

成绩评定教师:1需求分析这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。通过这些信息使之提供以下功能:(1)图书信息创建功能。其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。(图书信息用文件保存)。(2)图书信息查看功能。用来查看各项图书信息。(3)图书信息查找功能。通过已知信息来查找想要的图书。(4)图书信息的删除。可以删除特定图书。(5)图书信息的修改。可以修改图书的各项信息。(6)图书信息的排序功能。按图书信息对录入的图书进行排序。(7)菜单选择功能,此功能也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能2概要设计⑴数据结构图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。菜单函数的原型:voidmenu()函数的功能:调用菜单,使用各项功能程序:voidmenu(){printf("\n\n*******************************<图书信息管理系统>*******************************\n");printf("-------------------------------------主菜单-------------------------------------\n");printf("\t\t\t<1;创建图书信息>\n");printf("\t\t\t<2;查找图书信息>\n");printf("\t\t\t<3;删除图书信息>\n");printf("\t\t\t<4;修改图书信息>\n");printf("\t\t\t<5;显示图书信息>\n");printf("\t\t\t<6;按出版时间排序>\n");printf("\t\t\t<0;退出>\n");printf("--------------------------------------------------------------------------------\n");}2.新建文件函数的原型:intReadinfoFromFile()函数的功能:建立文件储存数据程序intReadinfoFromFile()f",&p->price);fscanf(fp,"%d",&p->type);if(p->type==1){if(head==NULL){head=p;p->next=NULL;}else{p->next=head;head=p;}}else{if(head_==NULL){head_=p;p->next=NULL;}else{p->next=head_;head_=p;}}}fclose(fp);return0;}3.创建图书信息函数的原型:intchuangjian()函数的功能:记录图书的各项信息程序:intchuangjian()找图书信息函数的原型:voidchazhao()函数的功能:通过书名查找、作者查找、组合查找三种方式查找图书信息。程序:voidchazhao()n按作者名查找请按2.\n按组合查询请按3.\n");scanf("%d",&i);if(i==1){printf("请输入要查找的书名:");scanf("%s",name);for(p=head;p!=NULL;p=p->next)f\n",p->price);}}if(head==NULL)printf("<查无此书>\n");if(b)printf("<查找的图书信息不存在!>\n");f\n",p->price);}}if(head==NULL)printf("<查无此书>\n");if(b)printf("<查找的图书信息不存在!>\n");f\n",p->price);}}if(head==NULL)printf("查无此书\n");if(b)printf("<查找的图书信息不存在!>\n");除图书信息函数的原型:voidshanchu()函数的功能:通过书名确定图书,进而删除该书程序:voidshanchu()n");system("PAUSE");}6.修改图书信息函数的原型:voidxiugai()函数的功能:通过书名确定图书,进而修改该书的各项信息程序:voidxiugai()f\n",p->price);printf("<是否确定修改0(是)or1(否)>\n");scanf("%d",&a);if(a==0){printf("**********请重新输入信息*********\n");printf("请输入书名:");scanf("%s",p->name);printf("请输入作者名:");scanf("%s",p->writer);printf("请输入书号:");scanf("%s",p->shuhao);printf("请输入分类:");scanf("%s",&p->fenlei);printf("请输入出版社:");scanf("%s",&p->chuban);printf("请输入出版时间:");scanf("%d",&p->chubantime);printf("请输入价格:");scanf("%f",&p->price);p->type=news;printf("\n\n<提醒:信息修改成功!>\n\n");}}if(b==1)printf("<没有您要修改的信息!>\n");}system("PAUSE");}7.显示图书信息函数的原型:voidshow()函数的功能:显示已存图书的各项信息程序:voidshow()f\n",p->price);system("PAUSE");}}8.图书排序函数的原型:voidpaixu()函数的功能:按出版时间的不同将记录的图书排序程序:voidpaixu()f\n",a[i]->price);}system("PAUSE");}4调试分析此次编写的图书管理系统,相对于以前学到的程序,它要大得多,也要复杂的多。涉及到多个模块的调用,每个模块都给我带来一些困惑。其中感觉图书查找和排序这两个最为麻烦。查找模块涉及到指针和链表问题后来在同学的帮助下得以解决,我就模仿按书名查找的方法另外设计出了两种查找方法。排序中的for循环刚开始不是太熟练,出了很多错误。程序设计好后,数据的输出格式不太规范,而且各模块也出现了一些小问题,经过修改最后运行的结果基本上达到了预期的目的。由于准备的有点仓促,没能把一些细节优化好,而且没能加入一些其他功能,比如图书借阅模块,那样程序将会比较完美。5测试结果测试的部分数据书名作者书号分类出版社出版时间价格大学物理罗益民a1教科类北京邮电大学出版社

58时间简史霍金b2科普类湖南科学技术出版社

45仰望饶雪漫c3文学类海南出版社

15

登录号任意输入下面为测试的部分结果截图。6课程心得总结通过这次亲自动手编写C语言图书管理系统,从中收获了很多。很多学过的知识得以巩固,对链表、数组指针、结构体等知识有了更深一步的了解。编写的过程中我也借鉴别人设计的一些程序,从中

温馨提示

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

评论

0/150

提交评论