老师布置的大作业,求完整代码
问题如下
社区图书库信息管理系统
2目标
某社区活动室设置了图书角,图书信息主要有编号、书名、作者、数量等,社区人员借阅图书后借阅信息,要记录图书编号、借阅人和借阅日期,归还后要记录归还日期。设计一个程序,对这些图书信息进行管理,包括图书信息的创建、增加、删除、修改、查找、借阅,归还等。
图书信息保存在一个硬盘文件中。
借阅信息保存在一个硬盘文件中。
3要求
1数据存储可以选择用数组结构或者用链表结构;
2如果使用数组结构,则假设图书种类不超过100;
3各个功能模块请设计相应的函数来完成;
4主要功能
1创建图书信息
开始运行时,初始数据有两个方式可以创建:1)从一个数据文件读入。数据文件的格式由代码编写人员根据程序设计的内容提供;2)从键盘输入。输入数据的格式在运行界面中提供;3)图书信息按照编号从小到大排列;
2增加图书信息
1)增加的数据可以从数据文件中读入;2)增加的数据可以从键盘输入;
3删除(过时报废)图书信息
1)根据提供的图书编号查找并删除图书信息;2)找不到时给出提示;
3)删除的信息保存在另一个文档里;
4借阅图书
1)根据提供的图书编号查找图书,如果该图书剩余数量大于0则可以借阅,修改剩余数量,填写图书的借阅信息表,增加记录(图书编号、借阅人信息和借阅日期等); 2)找不到或剩余数量是0时给出提示;
5归还图书
1)根据提供的借阅人姓名查找借阅信息并设置该条记录的归还日期,修改图书信息中的图书数量; 2)找不到时给出提示;
6查找图书信息
1)根据提供的图书编号查找并显示该图书的所有信息;2)找不到时给出提示;
7浏览图书信息
显示所有的图书信息
8归还提示
查询借阅信息,把借阅时间超过30天的借阅信息另存为一个文件,用于打印。
9信息的保存
把程序中的数据信息保存到磁盘文件;
5数据结构示例
struct data //日期
{ int year;
int month;
int day;
};
struct book
{ int bid; //书编号
char bname[10];//书名
char aname[10];//作者
int bnum; //数量
}
struct record
{ int bid; //书编号
char pname[10];// 借阅人
struct data bdate; //借阅日期
struct data rdate; //归还日期
};
struct bnode //图书链表结点
{ struct book data; //结点数据域
struct bnode * next;//结点指针域
};
struct btable //图书表
{ struct book belem[100]; //数据数组
int len; //数组实际的元素数量
};
struct blist //图书表
{ struct bnode* bhead; //链表指针
struct bnode* brear; //链表尾指针
int len; //实际的元素数量
};
struct rnode //借阅信息结点
{ struct record data; //结点数据域
struct rnode * next;//结点指针域
};
struct rtable //借阅信息表
{ struct record relem[200]; //数组存放信息
int len; //实际的借阅信息数量
}
struct rlist //借阅信息链表
{ struct record* head; //链表指针
struct record* rear; //链表尾指针
int len; //实际的元素数量
};
6部分功能界面示例
1. 主界面采用文本菜单形式,功能如下所示:
========================================
图书信息管理系统
========================================
功能选项:
0---保存信息并退出
1---创建图书信息 2---增加图书信息
3---删除图书信息 4---借阅登记
5---归还登记 6---查找图书信息
7---浏览图书信息 8—需归还图书查询(借阅30天以上)
----------------------------------------------------------------
请输入选项(0--7): 1
2. 图书信息的创建功能部分界面及虚拟执行结果:
**********图书信息的创建**********
说明:程序开始运行,图书信息为空,开始创建
功能选项:
--------------------------------------------
1---从键盘输入数据信息
2---从文件读取数据信息
-------------------------------------------
请输入选项(1--2):2
你选择了从文件输入数据,请继续......
请输入数据文件的名称:book.txt
正在读取文件......
创建成功!
按回车键继续.......返回主界面
3. 图书信息的查找功能界面及虚拟执行结果
**********图书信息的查找**********
功能选项:
------------------------------------
1---按照编号查找
2---按照书名查找
-----------------------------------
请输入选项(1--2):2
你选择了按照书名查找,请继续......
请输入图书的名称:
找到了,具体信息如下:
按回车键继续.......返回主界面
或者
没有找到
按回车键继续.......返回主界面
------------------------------------------------------------------------------------------------------------