C/C++简易图书管理模拟系统(二叉平衡树)
C/C++简易图书管理模拟系统(二叉平衡树)
数 据 结 构 课程实验教案
第 8 页
实验题目八:
综合实验
简易图书管理模拟系统 机时安排 9小时
实验时间 第14-16周
实验目的:
插入、查找和删除等数据操作在实际应用中非常普遍,通过设计和实现一个简易的图书管理系统,进一步提高学生对插入、查找和删除等操作的理解和应用能力。帮助学生理解和掌握线性表和二叉平衡树等数据结构的基本操作和实现方法,加强学生综合应用数据结构知识解决实际问题的水平和能力。
实验内容:
1、问题描述:一个简易图书管理的基本业务活动包括:对新购入一种书的采编入库、图书的借阅和归还等。
2、基本要求:
(1)每种书的登记内容至少包括书号、书名、著者、现存量和总库存量等五项。
(2)我们要求各种书的数据用二叉平衡树(关键字为书号)来存储(如果用更简单的二叉排序树来代替二叉平衡树,则扣除15分);借阅登记信息采用下图所示的“顺序表—链表”来存储,其中顺序表存储借阅者信息,链表存储借阅者所借的各种书籍信息(至少包含书号),借阅登记信息的存储结构如下示意:
(3)本次实验的重要数据结构(如二叉平衡树、顺序表—链表等)都应能以文件的形式存储和读取,以便随时进行图书管理。如果不能实现对相关数据结构的文件存储和访问,则扣除10分。
(4)需要实现的三种主要功能定义如下:
①采编入库:新购入一种书的时候,将该书的书号和购入数量登记到图书帐目中去。如果这种书在帐中已有,则只将该书的总库存量增加。
②借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限。
③归还:注销对借阅者的登记,改变该书的现存量(如果借阅者归还所有的书,则注销该借阅者的信息)。
3、测试数据:
入库书号:ISBN 7-302-02368-9,ISBN 978-7-115-16985-3/TP,ISBN 978-7-302-03314-1,ISBN7-115-10563-4/TP·3043,ISBN 978-7-121-07479-0,ISBN 978-7-115-18809-0/TP,ISBN 978-7-04-024246-1,ISBN 7-111-12886-9,ISBN 978-7-115-19601-9/TP,ISBN 7-900183-01-9。
借书证号为081716的借阅者,先借阅10种图书各一本,后归还图书ISBN 7-302-02368-9和ISBN 978-7-121-07479-0。
借书证号为081710的借阅者,先借阅图书ISBN 978-7-121-07479-0和ISBN 978-7-302-03314-110各一本,后归还图书ISBN 978-7-121-07479-0。
其余数据可自行设计。
4、实现提示:
(1)各种图书按登记的先后顺序入库(利用二叉平衡树实现动态查找表的插入),书号为图书的关键字。初始时,二叉平衡树为空树。采编入库
(2)借阅者借阅图书时,先检查借阅者有无超期未归还图书,如有,则不能借阅,如无,利用二叉平衡树实现动态查找表的查找,登记借阅信息。注意,按规定,同一种书不能重复借阅。登记借阅信息
(3)清除库存(选作)时,将该图书从二叉平衡树中删除。
5、选作内容:
(1)实现图书管理的清除库存操作:某种书已无保留价值,将它从图书帐目中注销。即,要实现二叉平衡树的删除操作。
(2)实现图书管理的显示操作:每次插入或删除二叉平衡树的一个结点之后,更新二叉平衡树的显示。二叉平衡树的显示可采用《数据结构题集》6.69题要求的凹入表形式,也可以采用图形界面画出树形。
(3)图书管理模拟系统的其它功能实现。
源码传送门
传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
参考资料(含参考书、文献等):
《数据结构题集》(C语言版)严蔚敏 吴伟民 清华大学出版社 1999.2
教学过程设计:复习 分钟,授新课 分钟,安排讨论 分钟,布置作业 分钟,其他 分钟
授课类型(请打√):理论课□ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授□ 讨论□ 示教□ 指导□ 其他□
教学资源(请打√):多媒体□ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1、每项页面大小可自行添减;2、教学内容与讨论、思考题、作业部分可合二为一。