1 需求分析
1.1 数据结构分析
图书管理系统中图书管理模块包括图书类型定义:书号(int),现存量(int),总存量(int),出版时间(int),价格(float),书名,作者名为字符型,借阅指针为读者类型;
读者类型定义:ID号(int),姓名为字符型。
B树(2-3树)类型定义:关键字个数和关键字数组为整型,另外还有指向双亲的指针,指向子树的指针;
B树查找结果类型定义:结点指针,关键字序号和查找标志变量为整型。
1.2 输出的形式
输出界面以用户于计算机的交互方式进行,在输出窗口上显示“特定的提示信息”之后,由用户按提示在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在下面。由于时间和能力有限,该管理系统没有用文件存放数据,所有数据放在内存中存放(后来做了改进版就有了),但是选做的功能就还没有实现。其基本业务都是以书号为关键字进行,采用了(2-3树)对书号建立索引,以提高效率。
1.3 程序所能达到的功能
1.3.1 采编入库
- 新书购入,将书号,书名,作者,册数,出版时间以及价格添加入图书管理系统中,如果这种书在系统中已存在,则只将总库存量增加,每增加一个书号则以凹入表的形式显示B树形状。
1.3.2 清除库存
- 实现某本书的全部信息删除操作,每清除一个书号则以凹入表的形式显示B树形状。
1.3.3 图书借阅
- 如果树的库存量大于零时则执行出借,登记借阅者的图书证号和姓名。
1.3.4 图书归还
- 注销借阅者信息,并改变该书的现存量。
1.3.5 查看图书馆全部图书
- 用表格输出所有图书的信息。
1.3.6 查看某图书信息
- 查看指定某一本书的全部信息。
1.3.7 查看某本书的借阅者信息
- 表格输出某本书的全部借阅者信息。
1.3.8 读取图书信息
- 从文件中读取所有图书的信息以及所有借阅者的信息
1.4 测试数据
- 入库书号:35, 16, 18, 70, 5, 50, 22, 60, 13, 17, 12 , 45, 25, 42, 15, 90, 30, 7
- 然后清除:45, 90, 50, 22, 42
- 其余数据自行设计。由空树开始,每插入删除一个关键字后就显示B树的状态。