1、在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的。1、系统需求分析经过以上对本系统的调研及可行性分析后,下面将对系统在功能上以及性能上进行进一步的需求分析。2、功能介绍输入图书信息, 出现一个图书信息管理系统的主界面,其中有6个数字代表的选项,可以按相关的数字进行操作。每一条记录包括一本书的书名、图书号、作者、出版时间、出版社名、价格。 0)退出: 如果在图书管理系统的主界面,则退出的是系统,如果是在子菜单下则返回到主界面。 1)录入新图书: 可以完成一条信息的输入,也可以完成多条信息的输入。
2、 2)浏览图书信息: 学生可以浏览图书的相关信息,包括一本书的书名、图书号、作者、出版时间、出版社名、价格。 3)自主查询图书信息: 可以按书名或按作者查找图书的相关信息并显示。 4)删除图书信息: 只能通过图书号删除一本书的相关信息。 5)修改图书信息:只能通过图书号进行修改该图书的相关信息。 3、模块划分图书管理系统退出系统信息录入信息查询信息浏览信息删除信息修改图1 系统功能模块图4、数据流图结束开始 显示一系列功能选项输入n,判断n是否是05?根据n的值调用各功能模块函数n图2 系统数据流程图三、 设计步骤#includestdlib.hstring.htypedef struct c
3、har number10;/书号char name20;/书名char author20;/作者char publish50;/出版社char time20;/出版时间float price;mbook;int count;/书的本数mbook book100;/最大可有100本书mlibrary;mlibrary library;void save()/保存图书信息。FILE *fp;if(fp=fopen(library.doc,w)=NULL)printf(n不能保存图书信息n);return;fwrite(&library.count,sizeof(int),1,fp);fwrite(
4、library.book,sizeof(library.book0),library.count,fp);void putin() /*定义录入函数*/ int y=1;system(clswhile(y) t请输入您的书籍的书号:scanf(%s,library.booklibrary.count.number);t请输入书名:,library.booklibrary.count.name);t请输入作者名:,library.booklibrary.count.author);t请输入出版社:,library.booklibrary.count.publish);t请输入出版时间:,libr
5、ary.booklibrary.count.time);t请输入该书的价格:fflush(stdin);%f,&library.booklibrary.count.price);library.count+;录入成功,恭喜您!n是否继续录入(1.继续;0,退出录入):%dy);if (y!=1)y=0;break; save();void lookup()printf(图书号t图书名t作者名t出版社t出版日期t图书价格nfor (int i=0;ilibrary.count;i+)%st%st%st%st%st%6.2fn,library.booki.number,library.booki.
6、name,library.booki.author,library.booki.publish,library.booki.time,library.booki.price);n 查询结果如上按0键返回主菜单: fflush(stdin);getchar();void search_by_name() /*定义按书名查询*/ char s220;int flag=1;n请输入要查询的书名: scanf(,s2);for(int i=0;i+ )if(strcmp(s2,library.booki.name)=0) flag=0;printf(if (flag)查询错误!按0键返回主菜单:voi
7、d search_by_author() /*定义按作者名查询*/char s320;请输入要查询的书的作者:,s3);if(strcmp(s3,library.booki.author)=0) if (flag)查询出错! void search() /*定义查询函数*/ int a; /*进行清屏*/ printf(tt*n开始查询nttt1-按书名查询nttt2-按作者名查询nttt0-退出n) ;tt请选择你想要的查询方式: scanf(a); switch(a) case 1:search_by_name();break; case 2:search_by_author();case 0:void del() /*定义删除函数*/ /*清屏*/n 请输入想要删除的书名:,number);int i;for (i=0;if(strcmp(number,library.booki.number)=0)break;if (i!=library.count)for(;library.count-1;strcpy(library.booki.name,library.booki+1.name);strcpy(library
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1