西文图书管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西文图书管理系统
1
2020年4月19日
9.西文图书管理系统
图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。试设计一个图书管理系统,将上述业务活动借助于计算机系统完成。
要求:
(1)每种书的登记内容至少包括书号、书名、著者、现存量和总库存量等五项。
(2)作为演示系统,不必使用文件,全部数据能够都在内存存放。要用B-树(4阶树)对书号建立索引,以获得高效率。
(3)系统应有以下功能:
采编入库、清除库存、借阅、归还、显示(以凹入表的形式显示)等。
1.需求分析
设计一个西文图书管理系统, 将图书管理基本业务活动如对一本书的采编入库、清除库存、借阅和归还等等借助于计算机系统完成,该图书管理系统应有以下功能:采编入库、清除库存、借阅、归还、显示等。要求用B-树(4阶树)对书号建立索引,以获得高效率,输出以凹入表的形式显示。
2.设计
2.1 设计思想
(1)数据结构设计
逻辑结构设计:树形结构(B-树)
存储结构设计:链式存储结构
选择B-树这种数据结构的原因:
与二叉树相比,B-树是一种平衡多叉排序树。平衡是指所有叶结点都在同一层上,从而可避免出现二叉排序树那样的分支退化现象;多叉是指多于二叉,多于二叉的排序树将降低二叉树高度,从而减少查找数据元素时的比较次数。由于限制了除根结点以外的非叶子结点,至少含有M/2个儿子,确保了结点的至少利用率,其最底搜索性能为:
其中,M为设定的非叶子结点最多子树个数,N为关键字总数;因此B-树的性能总是等价于二分查找(与M值无关),也
3
2020年4月19日
4
月19日 就没有B 树平衡的问题;因此,B-树是一种动态查找效率较二叉排序树更高的树形结构。
(2)算法设计
算法设计的总体设计思路为:首先创立一颗4阶B-树,然后在此基础上设计添加图书、查找图书、借阅图书、归还图书、显示图书状态、删除图书记录、退出七个模块,最后主函数再用一个switch 选择语句来调用各个模块。各个模块要完成的主要功能分别为:
添加图书:能够添加图书记录,按提示依次输入书号、书名、作
者、现存量、总量,会提示是否继续添加。
查找图书:可根据输入的书号进行查询,成功找到后会提示是否
想借这本书,输入1为借书,输入0为退出。
借阅图书:可根据提示输入相应的书号进行借书。
归还图书:可根据提示输入相应的书号归还图书。
显示图书状态:可显示图书管理系统里的所有图书状态。
删除图书记录:可根据提示输入相应的书号删除图书记录。
主程序的流程图如下:
5 2020年4月19日