c语言最全的图书管理系统程序(共14页).doc
《c语言最全的图书管理系统程序(共14页).doc》由会员分享,可在线阅读,更多相关《c语言最全的图书管理系统程序(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上题目名称: 图书管理系统 算法分析:1用结构体标出信息系统的成员:图书书号,书名,作者姓名,出版社,价格2 利用c语言的文件知识将系统的信息存放在c盘下的“project choose.txt”的文件夹下3 定义各个子函数(1)定义输入信息函数,将图书信息按一定格式用scanf函数输入(统计M本的信息);(2)定义输出函数,每3个表一页直到最后一个;(3)定义信息查询函数。a,定义按书号查询函数,如果输入的数字等于图书编号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个作者姓名字符串则输出信息;c,定义按出版社名称查找函数,如果输入的字符串
2、等于其中出版社名称,则输出该信息; e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abc四个函数。(4)定义删除信息函数。输入的数字作为要删除的图书编号,输出要删除的图书信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。(5)定义信息修改函数。输入的数字等于要修改的图书编号,输出要修改的图书信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出图书信息。(6)定义信息统计函数。输入一个字符串作为出版社,比较M本书的出版社字符串是否等于输入的字符串,统计相等的个数n输出。(7)定义图书编号排序函数。用
3、冒泡排序法将M本的书的图书编号按从大到小的顺序排列后输出。4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用修改图书信息函数,删除图书信息函数,查找图书信息函数,统计图书信息函数,图书排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。流程设计:图书管理系统利用结构体说明成员定义文件保存,读取函数定义各子函数统计图书信息函数图书排行信息函数查找图书信息函数删除图书信息函数定义修改图书信息函数定义主函数用switch case 选择要调用的子函数,后退出系统,结束程序。代码设计:#include#include#include#define M 2#define PAGE 3
4、 /*图书结构体类型*/ typedef struct int num; /*图书号*/ char name20; /*书名*/ char zuozhe20; /*作者姓名*/ char chubanshe20; /*出版社*/ int price; /*价格*/ BOOKS;int read_file(BOOKS books) FILE *fp; int i=0; if(fp=fopen(project choose.txt,rt)=NULL) printf(nn*库存文件不存在!请创建); return 0; while(feof(fp)!=1) fread(&booksi,sizeof(
5、BOOKS),1,fp); if(booksi.num=0) break; else i+; fclose(fp); return i; void save_file(BOOKS books,int sum) FILE *fp; int i; if(fp=fopen(project choose.txt,wb)=NULL) printf(读文件错误!n); return; for(i=0;isum;i+) if(fwrite(&booksi,sizeof(BOOKS),1,fp)!=1) printf(写文件错误!n); fclose(fp); /*输入模块*/ int input(BOOKS
6、 books) int i=0; printf(nn 录入图书信息 (最多%d种)n,M); printf(-n); do printf(n 第%d本图书,i+1); printf(n 图书编号:); scanf(%d,&booksi.num); if(booksi.num=0) break; printf(n 图书名称:); scanf(%s,booksi.name); printf(n 作者:); scanf(%s,booksi.zuozhe); printf(n 出版社:); scanf(%s,&booksi.chubanshe); printf(n 图书价格:); scanf(%d,&
7、booksi.price); i+; while(iM); printf(n -%d种图书信息输入完毕!-n,i); printf(n 按任意键返回主菜单!); getchar(); return i; /*输出模块*/ void output(BOOKS books) int i=0,j=0,page=1; printf(nn -图书信息表- 第%d页nn,page); printf(图书编号-图书名称-作者- 出版社-图书价格n); printf(-n); do if(booksi.num!=0) j+; if(j%PAGE!=0) printf(%4d %10s %10s %10s %8
8、d n,booksi.num,booksi.name, booksi.zuozhe, booksi.chubanshe,booksi.price); printf(-n); else printf(按任意键继续!); getchar(); printf(nn -图书信息表- 第%d页nn,+page); printf(图书编号-图书名称-作者- 出版社-图书价格n); printf(-n); printf(%4d %10s %10s %10s %8d n,booksi.num,booksi.name, booksi.zuozhe, booksi.chubanshe,booksi.price);
9、 printf(-n); i+; while(booksi.num!=0); printf(按任意键返回主菜单!); getchar( ); /*给定编号,作者,出版社查找信息模块*/ void find_by_num(BOOKS books,int sum) int i,find_num; printf(n 请输入要查找的图书编号:); scanf(%d,&find_num); for(i=0;isum;i+) if(booksi.num=find_num) printf(这是您所查找到的图书:n); printf(图书编号-图书名称-作者- 出版社-图书价格n); printf(-n);
10、printf(%4d %10s %10s %10s %8d n,booksi.num,booksi.name, booksi.zuozhe, booksi.chubanshe,booksi.price); printf(-n); break; else printf(n 未找到要查找的图书信息,按任意键返回!); getchar(); void find_by_zuozhe(BOOKS books,int sum) int i; char find_zuozhe20; printf(n 请输入要查找的作者姓名:); scanf(%s,find_zuozhe); for(i=0;isum-1;i
11、+) if(strcmp(booksi.zuozhe,find_zuozhe)=0) printf(这是您所查找到属于该作者的图书:); printf(图书编号-图书名称-作者- 出版社-图书价格n); printf(-n); printf(%8d %10s %10s %10s %8d n,booksi.num,booksi.name, booksi.zuozhe, booksi.chubanshe,booksi.price); printf(-n); else printf(n 未找到要查找的图书信息,按任意键返回!); void find_by_chubanshe(BOOKS books,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 图书 管理 系统 程序 14
限制150内