简易图书信息管理系统的设计(1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

简易图书信息管理系统的设计第一部分课程设计的题目和要求1.问题的提出一个简易图书信息管理系统要实现图书信息实现查询和显示功能、实现图书信息的排序功能、实现统计每本书的总价及所有图书的总价的功能。2.功能要求1)实现查询和显示功能:①按书名查询②按作者名查询③显示全部。将满足查询条件的整条记录显示在屏幕上。2)实现排序功能:①按种类排序②按出版社排序。将排序后的结果显示在屏幕上。要求至少实现一种排序方式。3)统计每本书的总价及所有图书的总价。用C语言创建一个数据文件,文件名为:“ZJ+班号+序号”,如电信01班的12号同学所建的文件名应为:ZJ0112.txt。用该文件来存放统计后的结果。存放形式如下:4)统计每类图书的总册数。用C语言创建一个数据文件,文件名为:“ZL+班号+序号”,如电信01班的12号同学所建的文件名应为:ZL0112.txt。用该文件来存放统计后的结果。存放形式如下:第二部分课程设计题目功能1.系统功能模块框图设计2、数据结构说明structdata{intbh;charfl[10];charsm[20];charzz[10];charcbs[30];intsl;floatdj;floatzj;}data[10];3、详细设计(1)主菜单的显示。(2)功能的显示。要将原始数据显示出来,就调用read函数,将D盘中的数据提出,该函数是运用了文件的打开与文件的关闭。(3)查询和显示功能的显示。○1要书名查询,在主函数中调用book函数来实现按书名查询的功能。然后将满足要求的数据显示出来,在这个函数中采用了strcmp函数,与原始数据进行比较,找到相应的数据就将其输出。主函数实现查询和显示功能实现排序功能统计每本书的总价及所有图书的总价按书名查询按出版社排序显示全部按作者名查询按种类排序统计每类图书的总册数○2要按作者名查询,在主函数中调用writer函数来实现按作者名查询的功能。然后将满足要求的数据显示出来,在这个函数中采用了strcmp函数,与原始数据进行比较,找到相应的数据就将其输出。○3显示全部,在主函数中调用all函数,在for循环条件下输出所有数据并显示。(4)实现排序功能。○1要按种类排序,在主函数中调用sort函数来实现的按种类排序功能。然后将满足要求的数据显示出来,在这个函数中采用了strcmp函数,与原始数据进行比较,找到相应的数据就将其输出。○2要按出版社排序,在主函数中调用paix函数来实现的按出版社排序功能。然后将满足要求的数据显示出来,在这个函数中采用了strcmp函数,与原始数据进行比较,找到相应的数据就将其输出(5)统计每本书的总价及所有图书的总价要实现统计每本书的总价及所有图书的总价,在主函数中调用tongj函数来实现统计每本书的总价及所有图书的总价的功能。然后将满足要求的数据显示出来,在这个函数中采用了for循环,与原始数据进行比较,找到相应的数据就将其输出。4、调试与测试a.主函数完成对主菜单的输出voidmain(){printf(\n\t^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\t);printf(简易图书信息管理系统的设计\n\t);printf($****1.按书名查询\n\t);printf($****2.按作者名查询\n\t);printf($****3.显示全部\n\t);printf($****4.按种类排序\n\t);printf($****5.按出版社排序\n\t);printf($****6.统计每本书的总价及所有图书的总价\n\t);printf($****7.统计每类图书的总册数\n\t);printf($****8.结束\n\t);printf(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\t);read();intm,i;while(m!=8){printf(请输入m的值:\n);scanf(%d,&m);if(m==1){printf(\n\t****1.按书名查询\n\t);printf(请输入要查找的书名:\n);book();}elseif(m==2){printf(\n\t****2.按作者名查询\n\t);printf(请输入要查找的作者名:\n);writer();}elseif(m==3){printf(\n\t****3.显示全部\n\t);printf(\n编号分类书名作者出版社数量总价\n);all();}elseif(m==4){printf(\n\t****4.按种类排序\n\t);sort();}elseif(m==5){printf(\n\t****5.按出版社排序\n\t);paix();}elseif(m==6){printf($****6.统计每本书的总价及所有图书的总价\n\t);tongj();}elseif(m==7){printf($****7.统计每类图书的总册数$\n\t);tongji();}else{printf(\n\t****8.结束\n\t);printf(\n\t^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\t);}}}b.book函数完成对图书信息管理系统的显示功能调试结果c.writer函数完成对图书信息管理系统的显示功能d.all函数完成对图书信息管理系统的显示功能e.sort函数完成对图书信息管理系统的显示功能f.paix函数完成对图书信息管理系统的显示功能g.tongj函数完成对图书信息管理系统的显示功能h.tongji函数完成对图书信息管理系统的显示功能i.其他第三部分课程设计总结附录:#includestdio.h#includestdlib.h#includestring.h#defineN10structdata{intbh;charfl[10];charsm[20];charzz[10];charcbs[30];intsl;floatdj;floatzj;}data[10];voidread(){FILE*fp;fp=fopen(JSJ0201.txt,r);if(fp==NULL){printf(Cannotopenfile\n);exit(0);}charstr[100];fgets(str,100,fp);printf(\n编号分类书名作者出版社数量单价\n);inti;for(i=0;iN;i++){fscanf(fp,%d%s%s%s%s%d%f,&data[i].bh,data[i].fl,data[i].sm,data[i].zz,data[i].cbs,&data[i].sl,&data[i].dj);printf(%-5d%-10s%-17s%-10s%-23s%-4d%-8.2f%\n,data[i].bh,data[i].fl,data[i].sm,data[i].zz,data[i].cbs,data[i].sl,data[i].dj);}fclose(fp);}voidbook(){charbookname[20];inti;scanf(%s,bookname);printf(\n编号分类书名作者出版社数量单价\n);for(i=0;iN;i++){if(strcmp(bookname,data[i].sm)==0)printf(%-5d%-10s%-18s%-9s%-23s%-4d%-8.2f%\n,data[i].bh,data[i].fl,data[i].sm,data[i].zz,data[i].cbs,data[i].sl,data[i].dj);}}voidwriter(){charwriter[20];inti,flag=0;scanf(%s,writer);printf(\n编号分类书名作者出版社数量单价\n);for(i=0;iN;i++)if(strcmp(writer,data[i].zz)==0){printf(%-5d%-10s%-17s%-10s%-23s%-4d%-8.2f%\n,data[i].bh,data[i].fl,data[i].sm,data[i].zz,data[i].cbs,data[i].sl,data[i].dj);flag=1;}if(flag==0)printf(Nofound\n);}voidall(){inti;for(i=0;iN;i++)printf(%-5d%-10s%-18s%-10s%-22s%-4d%-8.2f%\n,data[i].bh,data[i].fl,data[i].sm,data[i].zz,data[i].cbs,data[i].sl,data[i].dj);}voidsort(){intj,i;structdatada;for(i=0;iN;i++)for(j=i+1;j10;j++)if(strcmp(data[i].fl,data[j].fl)0)da=data[i],data[i]=data[j],data[j]=da;printf(\n编号分类书名作者出版社数量单价\n);for(i=0;iN;i++)printf(%-5d%-10s%-17s%-10s%-23s%-3d%-.2f%\n,data[i].bh,data[i].fl,data[i].sm,data[i].zz,data[i].cbs,data[i].sl,data[i].dj);}voidpaix(){intx,i;structdatapublish;for(i=0;iN;i++)for(x=i+1;x10;x++)if(strcmp(data[i].cbs,data[x].cbs)0)publish=data[i],data[i]=data[x],data[x]=publish;printf(\n编号分类书名作者出版社数量单价\n);for(i=0;iN;i++)printf(%-5d%-10s%-17s%-10s%-23s%-3d%-.2f%\n,data[i].bh,data[i].fl,data[i].sm,data[i].zz,data[i].cbs,data[i].sl,data[i].dj);}voidtongj(){FILE*fpp;fpp=fopen(JSJ02010.txt,w);fprintf(fpp,编号分类书名作者出版社数量单价总价\n);inti;floatsum[10];floattotal=0;for(i=0;iN;i++){sum[i]=data[i].sl*data[i].dj;total=total+sum[i];fprintf(fpp,%-5d%-10s%-17s%-10s%-23s%-3d%-7.2f%-5.2f\n,data[i].bh,data[i].fl,data[i].sm,data[i].zz,data[i].cbs,data[i].sl,data[i].dj,sum[i]);}fprintf(fpp,总价:%.2f\n,total);fclose(fpp);printf(*******该功能已实现,已存入JSJ02010.txt文件夹中\n);}voidtongji(){FILE*fpp1;fpp1=fopen(JSJ02011.txt,w);fprintf(fpp1,序号分类总册数\n);inti,j=1;inta=0,b=0,c=0,d=0;for(i=0;iN;i++)if(strcmp(社会科学,data[i].fl)==0)a+=data[i].sl;fprintf(fpp1,%-8d%-12s%-10d\n,j,社会科学,a);for(i=0;iN;i++)if(strcmp(自然科学,data[i].fl)==0)b+=data[i].sl;fprintf(fpp1,%-8d%-12s%-10d\n,j

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功