数据结构图书管理系统实验报告(共15页).docx
《数据结构图书管理系统实验报告(共15页).docx》由会员分享,可在线阅读,更多相关《数据结构图书管理系统实验报告(共15页).docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数据结构图书管理系统实验报告篇一:数据结构-图书管理系统实验报告数据结构课程设计报告课程名称_题目名称学生学院专业班级学号学生姓名指导教师20XX年7月8日一、需求分析1.图书管理系统中图书管理模块包括图书类型定义:书号、现存量、总存量,出版时间为整型,定价为浮点型,书名、著者名为字符型,借阅指针、预约指针为读者类型;读者类型定义:证号为整型、姓名为字符型,另外借阅类型和预约类型组合成其中的共用体类型。b树(2-3树)类型定义:关键字个数和关键字数组为整型、另外还有指向双亲的指针、指向子树的指针、记录单元指针;b树查找结果类型定义:节点指针、关键字序号和查找标志变量为
2、整型。2.演示程序以用户和计算机的对话方式进行,在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在后面。该演示系统,没有使用文件,全部数据放在内存存放。四项基本业务都以书号为关键字进行的,采用了b树(2-3树)对书号建立索引,以提高效率。3.图书管理系统实现功能:采编入库:新书购入,将书号、书名、著者、册数、出版时间添加入图书账目中去,如果这种书在帐中已有,则只将总库存量增加,每新增一个书号则以凹入表的形式显示b树现状。清除库存:实现某本书的全部信息删除操作,每清除一个书号则已以凹入表的形式显示b树现状。图书借阅:如果书的库存量大于零
3、时则执行出借,登记借阅者的图书证号和姓名,系统自动抓取当前借阅时间和计算归还时间。图书预约:如果某书库存为零,则记录预约者姓名和证号,系统自动抓取当前预约时间和取书时间。图书归还:注销借阅者信息,并改变该书的现存量。作者专区:输入作者名字,系统将查找相应作者全部著作并显示出来。图书信息:可以根据书号查阅此书基本信息、借阅信息和预约信息,亦可以查找全部图书基本信息。二、概要设计1.抽象数据类型b树定义:ADTbTree数据对象:D是具有相同特性的数据元素的集合。各个数据元素均含有类型相同,可惟一标识数据元素的关键字。数据关系:数据元素同属于一个集合并且:一棵m阶的b树,或为空,或为满足下列特性的
4、m叉树:树中每个结点至多有m棵子树;若根结点不是叶子结点,则至少有两棵子树;除根之外的所有非终端结点至少有m/2(取上限)棵子树;所有的非终端结点包含下列信息数据:(n,A0,K1,A1,K2,A2,K3,?,Kn,An)其中:Ki(i=1,2,?n)为关键字,且Kin),An所指子树中所有结点的关键字均大于Kn,n(m/2(取上限)-1基本操作:searchbTree(T,key);初始条件:b树T存在,key为和关键字类型相同的给定值。操作结果:若T中存在关键字等于key的数据元素,则返回该元素的值或在表中的位置,否则返回“空”。Insert(T,i,k,p,recptr)初始条件:b树q
5、和p存在,i、k是指定变量,recptr指针有效操作结果:将k和ap分别插入到q-keyi+1和q-ptri+1,并插入关键字为k的记录recptrInsertbTree(初始条件:b树T存在,e为待插入的数据元素。操作结果:若T中步存在关键字等于e.key的数据元素,则插入e到T中。DeletebTree(初始条件:b树T存在,key为和关键字类型相同的给定值。操作结果:若T中存在其关键字等于key的数据元素,则删除之bTreeTraverse(bTreeT,Visit)初始条件:b树T存在,Visit是对T结点的函数操作结果:遍历b树T,对每个结点调用Visit函数showbTree(T)
6、;初始条件:b树T存在。操作结果:以凹入表形式显示b树T。ADTbTree2.系统时间类型定义:ADTTime数据对象:D=Tm是各种整型类型的系统时间格式定义数据关系:数据元素同属一个集合基本操作:getDate(tm操作结果:初始化书库L为空书库。Insertbook(初始条件:书库L和b已存在,result包含b书在书库中的位置或应该插入的位置。操作结果:如果书库中已存在b书,则只将b书的库存量增加,否则插入b书到书库L中。Deletebook(初始条件:书库L和b存在。操作结果:如果书库中存在b书,则从书库中删除b书的信息,并返回oK,否则返回eRRoRborrowbook(L,初始条
7、件:书库L存在,b书是书库中的书并且可被读者R借阅。操作结果:借出一本b书,记录信息。Returnbook(L,初始条件:书库L存在。操作结果:若书库L中有读者R借阅b书的记录,则注销该记录,改变b书现存量,并返回oK,书不存在或无该读者记录则返回eRRoR。bespeakbook(L,初始条件:书库L存在,b书是书库中的书,R为借阅者。操作结果:为读者R预约b书。ListAuthor(L,author);初始条件:书库L存在,author为指定作者姓名操作结果:显示author的所有著作。showbookinfo(L,b);初始条件:书L存在。操作结果:若书库L中存在书b,则显示b书基本信息
8、并返回oK,否则返回eRRoR。printAllbooks(L);初始条件:书库L存在。操作结果:显示所有图书基本信息。ADTbTree3.主程序intmain()系统界面;初始化;for(;)显示菜单信息;接受命令;处理命令;输出结果;|4.本程序有四个调用模块主程序模块图书管理模块b树单元模块系统时间模块三、详细设计抽象数据类型b树算法详解/*抽象数据类型b-树存储定义*/typedefbooknodeRecord;/记录指针为图书结点类型typedefstructbTnodeintkeynum;/结点关键字个数structbTnode*parent;/指向双亲指针intkeym+1;/(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 图书 管理 系统 实验 报告 15
限制150内