重庆交通大学信息科学与工程学院
- 格式:wps
- 大小:528.91 KB
- 文档页数:27
重庆交通大学信息科学与工程学院
课程设计报告
班级:通信(2)班
姓名(学号):周丙相(631206040220)
实验项目名称:图书管理系统
实验室(中心):信息科学与工程学院信息技术实验
室
指导教师:谭晋
实验完成时间: 2013 年 6 月 28 日
一、题目
简易图书管理系统
二、功能描述
(1)主菜单
1.基本数据键盘输入
2.基本数据按要求输出;
3.修改指定图书信息;
4.删除指定图书信息;
5.在指定位置插入图书信息;
6.基本数据文件输入;
7.基本数据文件存储;
8.统计指定出版社的图书数量;
9.退出系统。
(2)各项功能
1.输入图书的基本信息(包括图书编号、图书名称、图书单价、数量、出版社)
2.按要求输出图书信息(按图书价格降序排列,按书名首字母升序排列)
3.修改指定图书的信息
4.删除指定图书的信息
5.在指定的图书前或后再插入一个图书的信息
6.统计指定出版社的图书数量
7.图书基本数据的文件存储及文件输入;
三、概要设计
依据程序所能实现的功能,可将程序划分为以下几个功能模块:
1.基本数据文件输入;
2.基本数据文件存储;
3.基本数据键盘输入;
4.基本数据按指定顺序输出;
5.修改指定的图书信息
6.删除指定图书信息;
7.在指定位置插入新的图书信息;
8.统计指定出版社的图书数量。
功能模块图如下:
各功能模块所实现的简要功能:
基本数据键盘输入:从键盘上输入图书的基本信息,其中包括图书编号、书名、图书单价、图书数量以及图书出版社等基本信息。 基本数据按要求输出:将图书信息按用户要求的排列顺序输出。如图书价格降序排列。
简易图书管理系统
基本数据键盘输入
基本数据按要求输出
修改指定图书信息
删除指定图书信息
在指定位置插入图书信息
基本数据文件输入
基本数据文件存储
统计指定出版社的图书数
量
修改制定图书的信息:根据需求修改指定书名的图书的基本信息。删除指定图书信息:根据需求删除指定的图书的基本信息。
在指定位置插入图书信息:按用户要求,在指定的图书前或者后插入新的图书信息。
基本数据文件存储:将图书基本信息存入指定的文件夹。
基本数据文件输入:从文件夹中读入图书的基本信息。
统计指定出版社的图书数量:按用户要求,统计指定出版社的图书数量。
首先定义一个始终贯穿整个程序的全局变量,保证在各功能函数中操作后能存储信息,用函数实现以下各功能并在主函数中进行调用。
1、输入图书的基本信息(包括图书编号、图书名称、图书单价、数量、出版社)
2、按要求输出图书信息(按图书价格降序排列,按书名首字母升序排列)
3、修改指定图书的信息
4、删除指定图书的信息
5、在指定的图书前或后再插入一个图书的信息
6、统计指定出版社的图书数量
7. 基本数据文件输入
8. 基本数据文件存储
四、详细设计
(一)数据结构
数组
struct information
{
int bookrange;
char bookname[20];
float bookprice;
int bookquty;
char bookpress[30];
};
struct allbook
{
information book[COUNT];
int num;
};
链表
struct information
{
int bookrange;
char bookname[20];
float bookprice;
int bookquty;
char bookpress[30];
struct information *next; };
struct information * singlebook;
(2)主函数设计
显示图书管理系统菜单,并调用各功能函数。
各功能函数以及菜单函数在主函数中的关系应满足:当调用其中一个功能函数时,不能影响到其他功能函数。并且当调用完一个功能函数时,能够返回到菜单界面;供用户再次选择功能函数。基于此,主函数应该设计为一个死循环,循环内部包含菜单函数以及各功能函数。其中,各功能函数利用switch开关语句进行调用,而菜单函数处于switch语句的外部。
数组主函数:
void main()
{
int sel;
singlebook.num=0;
while (1)
{
displayMenu();
scanf("%d",&sel);
switch (sel)
{
case 0: printf("感谢您的使用!\n");exit(0);
case 1: inputInformation(); break;
case 2: outputInformation(); break;
case 3: modifyInformation(); break;
case 4: deleteInformation(); break;
case 5: insertinformation(); break;
case 6: loadInfoFromFile(); break;
case 7: saveInfoToFile(); break;
case 8: countsamepressbook(); break;
}
}
}
(四)功能模块函数设计和调试
函数原型,功能说明
函数原型:
v oid inputInformation() void outputInformation() void modifyInformation() void deleteInformation() void insertinformation() void loadInfoFromFile() void saveInfoToFile() void countsamepressbook()
函数功能: