C 语 言 课 程 实 习 报 告
所 在 院 系 :工程学院
班 级 学 号 :052126-20121002220 姓 名 :方日忠
程序 已存档 : □ 是 □ 否 指 导 老 师 :赵 曼
评 分 :____________
二零一四年七月
1.题目要求
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:
(1)系统以菜单方式工作(2)图书信息录入功能(3)图书信息浏览功能 (4)图书信息查询功能(5)图书信息的删除与修改
2.需求分析
根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。
3.总体设计:
根据题目要求,可以将系统分为六个模块: 图书信息管理系统 菜单 图书 图书 图书 图书 图书 选择 录入 浏览 查询 删除 修改 功能 功能 功能 功能 功能 功能 模块 模块 模块 模块 模块 模块
4.详细设计:
#include
/*********图书信息结构体*********/
/***包括书号、书名、作者、出版社、出版时间,
typedef struct {
char number[10];//书号 char name[20];//书名 char author[20];//作者 char publish[50];//出版社 char time[20];//出版时间 float price; //价格 }mbook;
typedef struct { int count;//书的本数
mbook book[100];//最大可有100本书 }mlibrary; mlibrary library;
void save()//保存图书信息 { FILE *fp;
if((fp=fopen(\{
printf(\不能保存图书信息\\n\
价格***/ return; }
fwrite(&library.count,sizeof(int),1,fp);
fwrite(library.book,sizeof(library.book[0]),library.count,fp); }
/***********图书信息录入功能模块***********/
/*分析:设计一判断语句和循环语句,继续录入则输入1,入循环。用scanf输入要录入的信息*/
void putin() /*定义录入函数*/ { int y=1; system(\while(y) {
printf(\请输入您的书籍的书号:\
scanf(\printf(\请输入书名:\
scanf(\printf(\请输入作者名:\
scanf(\printf(\请输入出版社:\
scanf(\printf(\请输入出版时间:\
scanf(\printf(\请输入该书的价格:\fflush(stdin);
scanf(\library.count++;
为真,进printf(\是否继续录入(1.继续;0,退出录入):\fflush(stdin); scanf(\if (y!=1) { y=0; break; } } save(); }
/***********图书信息浏览功能模块***********/
/*分析:设计一循环,在i<总书本数library.count 时,依次显示书的信息*/
void lookup() {
system(\
printf(\图书号\\t图书名\\t作者名\\t出版社\\t出版日期\\t图书价格\\n\for (int i=0;i printf(\ook[i].name,library.book[i].author,library.book[i].publish,library.book[i].time,library.book[i].price); } fflush(stdin); getchar(); }
中国地质大学(武汉)C语言图书管理系统课程设计报告



