c语言课程设图书信息管理系统
课程设计报告
课程:高级语言程序设计
学号: 1010431059
姓名: 胡维维
班级: 嵌入式一班
教师: 王群芳
时间: 2011年6月
计算机科学与技术系
设计名称:图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:1、图书信息录入功能2、图书信息浏览功能3、图书信息查询功能 查询方式:按书名查询、按作者名查询、条件组合查询4、图书信息的删除功能5、图书信息的修改功能图书信息用文件保存。
设计目的与要求:
目的:设计一个图书馆信息管理系统的程序,能分别实现图书信息的录入、浏览、查询、删除以及修改的功能。根据用户需求,选择相应的功能,通过程序实现该功能。
要求:所设计的程序简洁,能实现个功能,且效率高。
设计所用软件环境:windows XP VC6.0
问题的模型化描述及求解算法的简要描述:
1.系统结构如下:
信息录入
信息录入
信息删除
信息修改
图书信息
管理系统
信息浏览
信息查询
按姓名
按(姓名+作者)
按(姓名+类型)
系统各模块说明如下:
(1)信息输入模块:完成图书信息的输入功能,输入信息包括书名、作者名、分类号、出版单位、出版时间、价格等;
(2)信息浏览模块:完成已录入图书信息的显示;
(3)信息查询模块:完成图书信息的查询,查询时对应有按书名查询和按作者名查询以及组合查询三种方式;
(4)信息修改模块完成图书信息的修改功能;
(5)信息删除模块完成图书信息的删除功能;
(6)菜单选择模块完成用户命令的接收,此模块也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;
2、数据结构
本系统中主要的数据结构就是图书的信息,包含书名、作者名、分类号、出版单位、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。
3、程序流程
系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:
查询
查询
结束
是
开始
菜单
输入
按书名
信息
输入
是
是
否
否
删除
信息删除
是
修改
浏览
信息浏览
按
作者名
按条件组合
信息修改
是
否
否
否
注:条件组合查询按书名和价格组合查询,修改删除按书名查找结构体修改删除。
程序清单:
#include //输入输出函数
#include //字符串函数头文件
#include
#include //调用函数
#include //申请内存
#define MAXNAME 11 //书名最大长度
#define MAXwriter 21
#define MENU_COUNT 5 //菜单选项个数
#define MAXN 15
//自定义枚举类型fi_type,用来表示图书信息
typedef enum _fi_type
{
news=1, //图书信息
}fi_type;
//图书信息结构体
struct fi_info
{char name[MAXNAME];
char writer[MAXwriter];
int typenum;
char publish_from[MAXN];
int publish_time;
float price;
fi_type type;
struct fi_info* next; //结构体的指针域,用于存放链表的下个结点的地址
};
struct fi_info *head=NULL,*head_=NULL ; //将图书信息写成链表,头指针分别为空
int Book_num; //图书信息的统计数
void menu();
int ReadinfoFromFile(); //读入数据
//函数申明
int creat_news();
void search_news();
void delete_news();
void update_news();
void show();
void quit();
int main()
{
int selected=0,land_num; //菜单选择变量
ReadinfoFromFile();//数据导入
printf("请输入您的图书管理系统登录号:");
scanf("%d",&l