图书信息管理系统设计_纯c语言课程设计(编辑修改稿)内容摘要:

e 2: search_by_author()。 break。 case 0: return。 } }2)实现功能:可通过按书 名查询和按作者进行查询。 ( 4)图书信息删除:利用 for 循环对所要删除的图书下一本图书是之各项序列改为其前一项的序号,主次更改,然后用 save 循环进行保存 1)函数原型: void book_del(void) { long int m。 system(cls)。 page_title(删除 )。 printf(\t\t\t 输入删除书的分类号 )。 scanf(%d,amp。 m)。 for(i=0。 im。 i++) { if(m==books[i].id) for(j=i。 books[j+1].id!=0。 j++) { strcpy(books[j].name,books[j+1].name)。 books[j].id=books[j+1].id。 strcpy(books[j].publish,books[j+1].publish)。 strcpy(books[j].author,books[j+1].author)。 strcpy(books[j].time,books[j+1].time)。 books[j].price=books[j+1].price。 } books[j].id=0。 } 计算机学院软件 11 级 C 程序设计报告 13 printf(\t\t\t 该书已删除 .\n)。 n。 } void rank(void) /* 按书名进行排序 */ { system(cls)。 /*清屏 */ for(i=0。 in。 i++) { k=i。 for(j=i+1。 books[j].id!=0。 j++) if(strcmp(books[k].name,books[j].name)0) k=j。 if(k!=i) { strcpy(temp,books[i].name)。 strcpy(books[i].name,books[k].name)。 strcpy(books[k].name,temp)。 } } fflush(stdin)。 printf(\t\t\t 新序列为: \n)。 for(i=0。 books[i].id!=0。 i++) { printf(分类号 :%d\t,books[i].id)。 printf(书名 :%s\t,books[i].name)。 printf(作者 :%s\t,books[i].author)。 printf(出版单位 :%s\t,books[i].publish)。 printf(出版时间 :%s\t,books[i].time)。 printf(价格 :%\n,books[i].price)。 } save()。 getchar()。 }2)实现功能 :可以删除没用的图书的所有信息。 ( 5)修改模块:先输入所要修改的书的分类号,然后利用 if 函数找到次书信息,在利用 for 循环对图书的各个信息进行修改 1)函数原型 void book_update(void)/*修改图书信 息 */ 计算机学院软件 11 级 C 程序设计报告 14 { system(cls)。 /*清屏 */ printf(\n \t\t\t 请输入你想修改图书的分类号 :)。 scanf(%d,amp。 id)。 int flag=0。 for(i=0。 books[i].id!=0。 i++) { if(id==books[i].id) { printf(分类号 :%d\t,books[i].id)。 printf(书名 :%s\t,books[i].name)。 printf(作者 :%s\t,books[i].author)。 printf(出版单位 :%s\t,books[i].publish)。 printf(出版时间 :%s\t,books[i].time)。 printf(价格 :%\n,books[i].price)。 printf(\n\t\t\t 请输入修改后此图书的信息 \n)。 printf(\t\t\t 请输入分类号 :)。 scanf(%d,amp。 id)。 printf(\t\t\t 请输入图书名 :)。 scanf(%s,amp。 name)。 printf(\t\t\t 请输入作者名 :)。 scanf(%s,amp。 author)。 printf(\t\t\t 请输入出版单位 :)。 scanf(%s,amp。 publish)。 printf(\t\t\t 请输入出版时间 :)。 scanf(%s,amp。 time)。 printf(\t\t\t 请输入该书的价格 :)。 fflush(stdin)。 scanf(%f,amp。 price)。 strcpy(books[i].name,name)。 books[i].id=id。 strcpy(books[i].publish,publish)。 strcpy(books[i].author,author)。 strcpy(books[i].time,time)。 books[i].price=price。 计算机学院软件 11 级 C 程序设计报告 15 save()。 flag=1。 } } if(flag==0) printf(\t\t\t 不存在分类号为 %d 的书籍。 ,id)。 } 2)实现功能:利 用此函数可以修改图书的分类号、书名、作者、出版单位、出版时间、价格的信息 (6)、排序模块:根 据图书名进行排序,利用 for 循环实现操作,在排序完成后利用save 函数保存信息。 1)函数原型: void rank(void) /* 按书名进行排序 */ { system(cls)。 /*清屏 */ for(i=0。 in。 i++) { k=i。 for(j=i+1。 books[j].id!=0。 j++) if(strcmp(books[k].name,books[j].name)0) k=j。 if(k!=i) { strcpy(temp,books[i].name)。 strcpy(books[i].name,books[k].name)。 strcpy(books[k].name,temp)。 } } fflush(stdin)。 printf(\t\t\t 新序列为: \n)。 for(i=0。 books[i].id!=0。 i++) { printf(分类号 :%d\t,books[i].id)。 printf(书名 :%s\t,books[i].name)。 printf(作者 :%s\t,books[i].author)。 printf(出版单位 :%s\t,books[i].publish)。 计算机学院软件 11 级 C 程序设计报告 16 printf(出版时间 :%s\t,books[i].time)。 printf(价格 :%\n,books[i].price)。 } save()。 getchar()。 } 2)实现功能:此函数对图书按照书名排列起来。 保存函数:利用文件函数把操作后的图书信息保存在文件里面。 1)函数原型: void save()//保存图书信息。 { FILE *fp。 if((fp=fopen(,w))==NULL) { printf(\n 不能保存图书信息 \n)。 return。 } fwrite(amp。 n,sizeof(int),1,fp)。 fwrite(books,sizeof(books[0]),n,fp)。 } 2)实现功能:用文件函数把操作后的图书信息保存在文件里面。 C 程序设计总结 程序设计过程有如解决一实际问题,从解决实际问题的角度,我们可以这 样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么。 其次,从问题的要害入手,从前到后的解决问题的每个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数,然后确定处理过程--算法。 可得最后结论。 在程序设计中,可认为也是一个社会,每个一同的社会成员都有不同的想法。 程序设计学得的好坏要看你在社会中解决问题的能力的高低,所以不同的人编程的结果是不同的。 在这个社会中,经验与想法最为重要 而且程序是非常复杂的,一个函数名不对,标点不对,都可能导致 一大片错误。 我在设设计时因为一个头函数的错误害的我费了很大劲才改过来 . 这次设计,让我掌握了 C 语言,而且还得到了用 C 语言解决实际问题的宝贵经验 ! 5 结束语 通过此次 C 语言程序设计实践,我实在是获益不浅 ! 计算机学院软件 11 级 C 程序设计报告 17。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。