下载此文档

C语言图书管理系统实验报告.pdf


文档分类:IT计算机 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
该【C语言图书管理系统实验报告 】是由【青山代下】上传分享,文档一共【25】页,该文档可以免费在线阅读,需要了解更多关于【C语言图书管理系统实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..程序设计实践信息类1110:..开辟一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。使之能提供以下:(1)图书信息录入功能(图书信息用文件保存)--输入(2)图书信息浏览功能--输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):①按书名查询②按作者名查询③按照价钱排序④按出版时间排序等等(4)图书信息的删除与修改:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)报表打印功能(3)甚至根据自己情况,可以加之学生信息,并扩充为图书借阅系统。(4)含糊查询(5)综合查询(6)统计功能比如统计处某一类别的图书信息或者筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。一、提交材料应包括:(1)系统源代码(2)课程报告二、整个设计过程具体要求(1)要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;(2)要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)(3)要求学生养成良好的编码****惯、完成各个模块并进行测试,最终完成系统整体测试;(4)按照要求完成系统设计和实现报告,并进行总结、答辩。:..需求分析是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。通过这些信息使之提供以下功能:(1)图书信息创建功能。其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。(图书信息用文件保存)。(2)图书信息查看功能。用来查看各项图书信息。(3)图书信息查找功能。通过已知信息来查找想要的图书。(4)图书信息的删除。可以删除特定图书。(5)图书信息的修改。可以修改图书的各项信息。(6)图书信息的排序功能。按图书信息对录入的图书进行排序。(7)菜单选择功能,此功能也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能2概要设计图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。/自定义枚举类型fi_type,用来表示图书信息typedefenum_fi_type{news=1,//图书信息}fi_type;//图书信息结构体structfi_info{charname[11];//书名:..作者charshuhao[10];//书号charfenlei[10];//分类charchuban[20];//出版社intchubantime;//出版时间floatprice;//价格fi_typetype;structfi_info*next;//结构体的指针域,用于存放链表的下个结点的地址};本系统主要有创建新的图书、查找图书、删除图书、修改图书、查看图书和图书排序几个基本功能。2structfi_info*head=NULL,*head_=NULL;//将图书信息写成链表,头指针分别为空intBook_num;//图书信息的统计数voidmenu();intReadinfoFromFile();//读入数据//函数申明intchuangjian();//创建新的图书信息voidchazhao();//查找图书voidshanchu();//删除图书voidxiugai();//修改图书voidshow();//查看图书voidpaixu();//图书排序voidquit();//退出3:..3)程序结构主菜单输入查找创删修显建除改示退图图图图出书书书书书作组名者合查查查找找找:..()函数的功能:调用菜单,使用各项功能程序:voidmenu(){图书信息管理系统主菜单<1;创建图书信息><2;查找图书信息><3;删除图书信息><4;修改图书信息><5;显示图书信息><6;按出版时间排序><0;退出>}:..函数的原型:intReadinfoFromFile()函数的功能:建立文件储存数据程序intReadinfoFromFile()//读入数据{FILE*fp=NULL;//文件指针structfi_info*p=NULL;//结构体指针inti;{文件不存在!为输出打开一个文件文件建立成功!}从文件中分别读入图书信息统计数,以便于下面for循环的条件控制for(i=0;i<Book_num;i++){p=(structfi_info*)malloc(sizeof(structfi_info));//P为动作指针,申请内存空间if(p->type==1){:..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;}函数的原型:intchuangjian()函数的功能:记录图书的各项信息intchuangjian()//创建图书信息{structfi_info*p=NULL;:..请输入书名:请输入作者名:请输入书号:请输入分类:请输入出版社:请输入出版时间:请输入价格:p->type=news;Book_num+=1;p->next=head;head=p;return0;}函数的原型:voidchazhao()函数的功能:通过书名查找、作者查找、组合查找三种方式查找图书信息。voidchazhao()//查找图书信息{structfi_info*p=NULL;charname[10],writer[21];:..intb=1,i;(i==1){请输入要查找的书名for(p=head;p!=NULL;p=p->next)//一个链表指针p的遍历,直到结尾p==NULL{if(strcmp(name,p->name)==0)//字符串的比较函数,若先后相等则等于0{b=0;//若存在,则b=0找到要查找的图书信息图书名称图书作者图书书号图书分类出版社出版时间图书价格}}查无此书查找的图书信息不存在若b=1,则不存在}elseif(i==2){请输入要查找的作者名:..一个链表指针p的遍历,直到结尾p==NULL{if(strcmp(writer,p->writer)==0)//字符串的比较函数,若先后相等则等于0{b=0;//若存在,则b=0找到要查找的图书信息图书名称图书作者图书书号图书分类出版社出版时间图书价格}}查无此书查找的图书信息不存在若b=1,则不存在}elseif(i==3){请输入要查找的书名价格for(p=head;p!=NULL;p=p->next)//一个链表指针p的遍历,直到结尾p==NULL{if(strcmp(name,p->name)==0&&price==p->price)//字符串的比较函数,若先后相等则等于0{b=0;//若存在,则b=0找到要查找的图书信息图书名称图书作者图书书号:..出版社出版时间图书价格}}查无此书查找的图书信息不存在若b=1,则不存在没有该项功能,请重新选择暂停}函数的原型:voidshanchu()函数的功能:通过书名确定图书,进而删除该书程序:voidshanchu()//删除图书信息{structfi_info*p=NULL;//定义两个结构体指针structfi_info*q=NULL;charname[10];intb=1;inta;请输入要删除的书名for(p=head,q=head;p!=NULL;p=p->next){if(strcmp(name,p->name)==0){b=0;:..?0(是)or1(否if(a==0){if(p==head)head=head->next;elseq->next=p->next;删除成功!}}elseq=p;}提示:查无此书}函数的原型:voidxiugai()函数的功能:通过书名确定图书,进而修改该书的各项信息程序:voidxiugai()//修改图书信息{structfi_info*p=NULL;inta,b=1;charname[10];请输入书名:for(p=head;p!=NULL;p=p->next){if(strcmp(p->name,name)==0){b=0;:..图书作者图书书号图书分类出版社出版时间图书价格是否确定修改?0(是)or1(否if(a==0){请重新输入信息请输入书名:请输入作者名请输入书号:请输入分类:请输入出版社:请输入出版时间:请输入价格:p->type=news;提醒:信息修改成功}}没有您要修改的信息:..}函数的原型:voidshow()函数的功能:显示已存图书的各项信息程序:voidshow()//显示图书信息{structfi_info*p=NULL;for(p=head;p!=NULL;p=p->next){图书名称图书作者图书书号图书分类出版社出版时间图书价格}}函数的原型:voidpaixu()函数的功能:按出版时间的不同将记录的图书排序程序::..按出版时间排序{structfi_info*a[1000],*p,*p1,*temp;inti,k,index,n=0;charb;p1=head;for(p=head;p;p=p->next)n++;for(i=0;i<n;i++){a[i]=p1;p1=p1->next;}for(k=0;k<n-1;k++){index=k;for(i=k+1;i<n;i++){if(a[index]->chubantime>a[i]->chubantime)index=i;}temp=a[index];a[index]=a[k];a[k]=temp;}for(i=0;i<n;i++){图书书名图书作者图书书号图书分类出版社出版时间图书价格}:..}调试分析此次编写的图书管理系统,相对于以前学到的程序,它要大得多,也要复杂的多。涉及到多个模块的调用,每一个模块都给我带来一些困惑。其中感觉图书查找和排序这两个最为麻烦。查找模块涉及到指针和链表问题后来在同学的匡助下得以解决,我就摹仿按书名查找的方法此外设计出了两种查找方法。排序中的for循环刚开始不是太熟练,出了不少错误。程序设计好后,数据的输出格式不太规范,而且各模块也浮现了一些小问题,经过修改最后运行的结果基本上达到了预期的目的。由于准备的有点仓促,没能把一些细节优化好,而且没能加入一些其他功能,比如图书借阅模块,那样程序将会比较完美。5测试结果测试的部份数据书名作者书号分类出版社出版时间价格大学物理罗益民a1教科类北京邮电大学出版社2022030358时间简史霍金b2科普类湖南***2022040445仰望饶雪漫c3文学类海南出版社2022090915登录号任意输入下面为测试的部份结果截图:..17:..18:..19:..20:..21:..22:..23:..课程心得总结C语言图书管理系统,从中收获了不少。不少学过的知识得以巩固,对链表、数组指针、结构体等知识有了更深一步的了解。编写的过程中我也借鉴别人设计的一些程序,从中发现了自己的一些不足,在构建框架和编写源程序上面的一些问题。在源程序编写好后,对源程序的检测花费了我不少时间,这也算是锻炼了我的耐心。在检测中发现的一些细节上的毛病和粗心这个坏****惯都需要我加以改正。同时同学对我的匡助也比较大,有些问题很感谢他们对我的匡助。亲自编写了这个大型程序后,我领悟了“实践出真知”这个道理,体味到了C语言的巨大用处,对C语言有了更浓厚的兴趣。在今后我也会更加深入的学****C语言,打好稳固的基础,努力掌握这门技术,能够编写出更多更好的程序。

C语言图书管理系统实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数25
  • 收藏数0 收藏
  • 顶次数0
  • 上传人青山代下
  • 文件大小2.93 MB
  • 时间2024-04-18