资源描述:
《数据结构_图书馆管理系统实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验报告题目:图书管理一,需求分析1.每种书的信息包括了书号书名,作者显存量和总库存等。2.要实现的主要操作有,在B-树上的插入删除操作,并且在这些B-树的操作的基础上的图书馆借阅归还入库清除等操作。3.每插入或删除一个关键字后就要显示B-树的状态。也可以显示图书的相关借阅的信息。4.借阅的信息链接在相应的那种数的记录之后。2.两种抽象数据类型:Btree和Library。3.测试数据入库书号:35,16,18,70,5,50,22,60,13,17,12,45,25,42,15然后清除:45,50,2
2、2,42,90二.概要设计ADTBTree{数据对象:D={ai
3、aiEBTNode,I=2,3,……n,n>=0}数据关系:R1={
4、ai-1,aiED,I=2,3……N}基本操作:voidInitBTree(BTree&T);intSearch(BTreep,intk);ResultSearchBTree(BTreeT,intk);voidsplit(BTree&q,ints,BTree&ap);voidInsert(BTree&q,inti,KeyTypex,BTreeap);v
5、oidNewRoot(BTree&T,BTreeq,KeyTypex,BTreeap);StatusInsertBTree(BTree&T,KeyTypek,BTreeq,inti);voidFindSmallest(BTreep,BTree&q);intParent(BTreep);voidRightBrother(BTreep,BTree&right);voidLeftBrother(BTreep,BTree&left);voidLeftMove(BTree&p,intloc);StatusDele
6、teBTree(BTree&T,intk);voidPrintBTree(BTreeT);}ADTLibrary{数据对象:D={ai
7、aiERecordI=2,3,……n,n>=0}数据关系:R1={
8、ai-1,aiED,I=2,3……N}基本操作:voidGetInformation(Record&book);voidPrintBookInfomation(Record*book);voidProcurement(BTree&T);voidDeleteBook(BTree&T,in
9、tk);voidLending(BTree&T,intk,charlibrarynum[10],chardata[10]);voidReturn(BTree&T,intk,char*librarynum);}3.程序的几个模块1)主程序模块voidmain(){接受命令初始化处理命令}2)B-树模块-------实现B-树的抽象数据类型3)图书馆模块-------实现图书馆的抽象数据类型调用关系如下:主程序模块B-树模块图书馆模块-三.详细设计(在源代码上通过注释的方式来说明)1、基本结构typedef
10、struct{intbooknum;charname[20];charwriter[20];inttotal;intcurrent;charlibrarynum[MAX][MAX];charreturndate[MAX][MAX];}Record;typedefstruct{intk;Record*recptr;}KeyType;typedefstructBTNode{intkeynum;structBTNode*parent;KeyType*key[M+1];structBTNode*ptr[M+1]
11、;}BTNode,*BTree;typedefstruct{BTNode*pt;inti;inttag;}Result;2、源代码1)主函数#include"head.h"#include"head.h"voidmain(){BTreeT;intorder=0,booknum;charreturndate[10],librarynum[10];Resultresult;InitBTree(T);printf("*********************************************
12、***************************");printf("Welcometothelibrarysystem!");while(order!=6){printf("************************************************************************");printf("请选择服务:1.采编入库2.清除库存3.借阅4.归还5.显示6.退出.");