文档介绍:C语言课程设计
图书借阅管理系统
班级:软件1201
学号:
姓名:王秋里
指导老师:邹姝稚
成绩:
任务描述
课题是图书借阅管理系统。采用结构体数组,用于院级资料室管理,实现简单的图书借阅管理,可以进行借书,还书,查询,挂账,借出图书查询等操作。具体分为6个模块:
图书信息录入。
借阅信息录入。
还书记录。
挂账处理。
信息查询:分为按书名查询,按作者查询,按库存量查询和按被借阅信息查询。
借阅统计:分为按教师统计和按照部门统计。
系统概要设计
查
找
借阅
还
书
借阅统计
图
书
信
息
录
入
挂账处理
按
书名查找
按作者查询
按库存量查询
已借出查询
按部门查询
按老师查询
查找:按照图书名称,作者,库存和被借阅信息查询。
借阅:输入所找的图书,输入书名和编号,若有库存,可以借阅,若没有库存,则无法借阅。
还书:输入图书信息,进行还书。
借阅统计:按照借书人的姓名和单位,分别查找借阅信息。
挂账处理:输入当天日期,可以查找出在当天,借阅图书超过90天的借阅人姓名。
系统详细设计
数据结构设计
struct list
{
long num;
char name[20];
char auther[20];
char publisher[20];
int quantity;
}books[N];
struct list books[N]用来存放新到的图书信息,包括编号、书名、作者、出版社和库存。
struct time
{
int year;
int month;
int day;
};
struct time 结构体用来存放年月日信息
struct out
{
long numb;
char name[20];
char publisher[20];
char teacher[20];
char subject[20];
float price;
struct time borrow;
struct time returnb;
}outlist[N];
struct out outside[N]结构体数组用来存放借出去的图书信息,包括编号,书名、出版社、借阅老师、老师所属的部门、借阅日期和还书日期。其中,还书日期在还书的时候补齐。
struct b
{
char name[20];
char book[10][20];
}teacher;
struct b teacher用来保存借阅老师的姓名和所属部门,用与查找。
模块接口设计
主函数入口进入,通过开关选择1到6个模块,7为退出。
模块1:入口void search();
在这个函数里,通过开关选择1到4类选择,5为退出,退出后返回主函数。
模块2:入口void borrow();
在这个函数里,若有库存,输入要借阅的图书信息,没有库存无法借阅,然后返回主函数。
模块3:入口void returnb();
在这个函数里,输入所还的图书信息和还书日期,返回主函数。
模块4:入口void statistics();
在这个函数里,通过开关选择1到2类搜索,3为退出,退出后返回主函数。
模块5:入口void all();
在这个函数里,先输入新书种类的数量,然后按次序,分别输入图书的编号、书名、作者、出版社和库存。输入结束,按任意键回到主函数。
模块六:入口void unpaid();
在这个函数里,输入当天日期,显示出当天借阅超过90天的借阅人姓名,按任意键返回。
3流程图
主函数
开始
输入选择x
X是否等于7
Y
N
开关选择
输入选择x
结束
查找
开始
输入选择x
X是否等于5
Y
N
开关选择
输入选择x
结束
借阅
开始
输入图书
有库存
N
Y
输入信息
结束
还书
开始
结束
输入信息
库存加一
借阅统计
开始
输入选择x
X是否等于3
Y
N
开关选择
输入选择x
结束
图书信息录入
开始
输入书本数
i=1
输入第i本
i<=5
结束
Y
N
i++
系统实现
输入新书
借书
借书未成功
还书
教师借书信息
部门借书信息