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

下载本文档

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

文档简介

课程报告课程名称:程序设计实践专业班级:信息类1110学生姓名:学号:任课教师:学期:20101—2012学年第二学期课程报告任务书#printf(“图书名称%s\n",p一〉name);printf("图书作者%s\n",p-〉writer);printf("图书书号%s\n",p—〉shuhao);printf("图书分类%s\n",p->fenlei);printf("出版社%s\n",p一〉chuban);printf("出版时间%d\n",p一>chubantime);printf(“图书价格%。2f\n",p-〉price);}}if(head二二NULL)printf("查无此书\n");if(b)printf(”〈查找的图书信息不存在!>\n");//若b=1,则不存在}elseprintf("<没有该项功能,请重新选择:>\n”);system("PAUSE");//暂停}5。删除图书信息函数的原型:voidshanchu()函数的功能:通过书名确定图书,进而删除该书程序:voidshanchu()//删除图书信息{structfi_info*p=NULL;//定义两个结构体指针structfi_info*q=NULL;charname[10];intb=1;inta;printf(〃请输入要删除的书名:\n”);scanf(”%s”,name);for(p=head,q=head;p!=NULL;p=p->next)if(strcmp(name,p-〉name)==0){b=0;printf(”确定删除?0(是)or1(否)\n");scanf(”%d”,&a);if(a==0){if(p==head)head=head->next;elseq—>next=p-〉next;printf("删除成功!\n");}}elseq=p;}if(b)printf(”〈提示:查无此书!.\n");system(”PAUSE");}修改图书信息函数的原型:voidxiugai()函数的功能:通过书名确定图书,进而修改该书的各项信息程序:voidxiugai()//修改图书信息{structfi_info*p=NULL;inta,b=1;charname[10];printf("请输入书名:\n\n");scanf(”%s”,name);for(p=head;p!=NULL;p=p—>next)if(strcmp(p—>name,name)==0){b=0;printf(“图书名称%s\n",p->name);printf(“图书作者%s\n",p一>writer);printf(“图书书号%s\n",p—>shuhao);printf(“图书分类%s\n",p-〉fenlei);printf("出版社%s\n",p->chuban);printf("出版时间%d\n",p->chubantime);printf(“图书价格%。2f\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()//显示图书信息{structfi_info*p=NULL;system(”cls");for(p=head;p!=NULL;p=p->next){printf(“图书名称%s\n",p一〉name);printf(“图书作者%s\n",p->writer);printf(”图书书号%s\n",p-〉shuhao);printf("图书分类%s\n",p->fenlei);printf(“出版社%s\n",p—>chuban);printf(“出版时间%d\n",p—〉chubantime);printf("图书价格%.2f\n",p一〉price);system(”PAUSE”);}}8。图书排序函数的原型:voidpaixu()函数的功能:按出版时间的不同将记录的图书排序程序: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+l;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++){printf("图书书名%s\n",a[i]一〉name);printf(”图书作者%s\n〃,a[i]-〉writer);printf(”图书书号%s\n〃,a[i]—>shuhao);printf("图书分类%s\n",a[i]-〉fenlei);printf(“出版社%s\n",a[i]一〉chuban);printf(“出版时间%d\n",a[i]-〉chubantime);printf("图书价格%。2f\n",a[i]->price);}system(”PAUSE");}调试分析此次编写的图书管理系统,相对于以前学到的程序,它要大得多,也要复杂的多。涉及到多个模块的调用,每个模块都给我带来一些困惑。其中感觉图书查找和排序这两个最为麻烦。查找模块涉及到指针和链表问题后来在同学的帮助下得以解决,我就模仿按书名查找的方法另外设计出了两种查找方法。排序中的for循环刚开始不是太熟练,出了很多错误。程序设计好后,数据的输出格式不太规范,而且各模块也出现了一些小问题,经过修改最后运行的结果基本上达到了预期的目的。由于准备的有点仓促,没能把一些细节优化好,而且没能加入一些其他功能,比如图书借阅模块,那样程序将会比较完美。测试结果测试的部分数据书名作者书号分类出版社出版时间价格大学物理罗益民al教科类北京邮电大学出版社2011030358时间简史霍金b2科普类湖南科学技术出版社2010040445仰望饶雪漫c3文学类海南出版社2010090915登录号任意输入面为测试的部分结果截图课程心得总结通过这次亲自动手编写C语言图书管理系统,从中收获了很多。很多学过的知识得以巩固,对链表、数组指针、结构体等知识有了更深一步的了解。编写的过程中我也借鉴别人设计的一些程序,从中发现了自己的一些不足,在构建框架和编写源程序上面的一些问题.在源程序编写好后,对源程序的检测花费了我很多时间,这也算是锻

温馨提示

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

评论

0/150

提交评论