1、C 语 言 课 程 实 习 报 告 1.题目要求 图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、 价格等。试设计一图书信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作(2)图书信息录入功能(3)图书信息浏览功能 (4)图书信息查询功能(5)图书信息的删除与修改 2.需求分析 根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件 指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构 体和文件的输入输出等操作;在程序中需实现图书信息录入,浏览,查询,删除 和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选 择菜单
2、实现功能,在运行时达到所要目的。 3.总体设计: 根据题目要求,可以将系统分为六个模块: 图书信息管理系统 菜单 图书 图书 图书 图书 图书 选择 录入 浏览 查询 删除 修改 功能 功能 功能 功能 功能 功能 模块 模块 模块 模块 模块 模块 4.4.详细设计:详细设计: #include #include #include /*/*图书信息结构体图书信息结构体*/*/ /*包括书号、书名、作者、出版社、出版时间,价格*/ typedef struct char number10;/书号 char name20;/书名 char author20;/作者 char publish50;
3、/出版社 char time20;/出版时间 float price; /价格 mbook; typedef struct int count;/书的本数 mbook book100;/最大可有 100 本书 mlibrary; mlibrary library; void save()/保存图书信息 FILE *fp; if(fp=fopen(“library.doc“,“w“)=NULL) printf(“n 不能保存图书信息n“); return; fwrite( fwrite(library.book,sizeof(library.book0),library.count,fp); /
4、 /*图书信息录入功能模块图书信息录入功能模块*/ / /*分析:设计一判断语句和循环语句,继续录入则输入 1,为真,进 入循环。用 scanf 输入要录入的信息*/ void putin() /*定义录入函数*/ int y=1; system(“cls“); while(y) printf(“t 请输入您的书籍的书号:“); scanf(“%s“,library.booklibrary.count.number); printf(“t 请输入书名:“); scanf(“%s“,library.booklibrary.count.name); printf(“t 请输入作者名:“); sca
5、nf(“%s“,library.booklibrary.count.author); printf(“t 请输入出版社:“); scanf(“%s“,library.booklibrary.count.publish); printf(“t 请输入出版时间:“); scanf(“%s“,library.booklibrary.count.time); printf(“t 请输入该书的价格:“); fflush(stdin); scanf(“%f“, library.count+; printf(“n 是否继续录入(1.继续;0,退出录入):“); fflush(stdin); scanf(“%d“, if (y!=1) y=0; break; save(); / /*图书信息浏览功能模块图书信息浏览功能模块*/ / /*分析:设计一循环,在 i总书本数 library.count 时,依次显示书 的信息*/ void lookup() system(“cls“); printf(“图书号t 图书名t 作者名t 出版社t 出版日期t 图书价格n“); for (int i=0;ilibrary.count;i+) printf(“