欢迎来到天天文库
浏览记录
ID:12705213
大小:166.50 KB
页数:10页
时间:2018-07-18
《西文图书管理系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、西文图书管理系统1.问题描述图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。试设计一个图书管理系统,将上述业务活动借助于计算机系统完成。要求:1)每种书的登记内容至少包括书号、书名、著者、现存量和总库存量等五项。2)作为演示系统,不必使用文件,全部数据可以都在内存存放。要用B-树(4阶树)对书号建立索引,以获得高效率。3)系统应有以下功能:采编入库、清除库存、借阅、归还、显示(以凹入表的形式显示)等。2.需求分析2.1规定程序功能改程序能实现对一本书的采编入库、清除库存、借阅和归还等等。系统拥有的功能有:采编入库、清除库存、借阅、归还、显示(以凹入表的形式显示)等。2.
2、2输入和输出形式模拟图书管理系统,会给出目录,输入则按照目录提示进行,在采编入库函数中,输出只有采编入库是否成功。在清除库存、借阅、归还、显示等函数模块中,输入按照信息提示进行逐步输入,该程序输出编号、书名、作者、该书库存总量、该书现存量等信息以及所进行的操作是否成功。3.概要设计3.1数据结构的设计根据题目的要求:作为演示系统,不必使用文件,全部数据可以都在内存存放。要用B-树(4阶树)对书号建立索引,以获得高效率。所以采用的数据结构为4阶B-树。3.2算法的设计除主函数外,包括了六个主要模块,分别是:菜单、图书采编入库、图书清除、借书、还书、显示。各模块之间的关系图如下:菜单采编入库图书清
3、除借书还书显示每个模块函数为:voidmenu()菜单voidinsert()图书采编入库voidclear()图书清除库存voidborrow()借书voidgiveback()还书voidshow()显示3.3抽象数据类型的设计首先是一本书,它包含许多信息,所以定义为结构体。typedefstruct//图书信息结构体{intbooknum;//图书编号charbookname[50];//书名charwriter[20];//作者intnow;//该书现存量inttotal;//该书的总库存量intflag;//flag的值代表该书的状态.flag=0代表已删除;flag=1代表未删除;
4、}book;然后该程序用的数据结构为B-树,所以还要定义关于B-树的结构体。typedefstructBTNode//结点结构体{intkeynum;structBTNode*parent;//双亲结点指针KeyTypekey[m+1];//key[0]不用structBTNode*ptr[m+1];//孩子结点指针}BTNode,*BTree;typedefstruct{BTNode*pt;inti;//位置inttag;//某结点是否存在的标志}Result;4.详细设计4.1算法的主要思想根据题目的要求进行每步的安排。当一本书进行采编入库时,按步骤输入书号、书名、著者、现存量和总库存量等
5、五项,并且将其以结点编入B-树。清除库存则按照B-树的删除方式进行删除。借书、还书和显示则都依照相同的方式来进行。4.2算法的实现①菜单函数voidmenu(){printf("图书管理系统菜单");printf("═══════════");printf("※1采编入库");printf("※2清除库存");printf("※3借阅");printf("※4归还");printf("※5显示");printf("※6退出");printf("═══════════");printf("请选择功能选项(1-6):[
6、]bbb");intp;scanf("%d",&p);switch(p){case1:insert();break;case2:clear();break;case3:borrow();break;case4:giveback();break;case5:show();break;case6:exit(0);break;default:printf("输入错误!");back();}}②图书采编入库函数voidinsert()//插入函数{KeyTypea;printf("入库图书编号:");scanf("%d",&a.booknum);printf("入库图书名称:")
7、;scanf("%s",a.bookname);printf("入库图书作者:");scanf("%s",a.writer);printf("入库图书数量:");scanf("%d",&a.total);a.now=a.total;a.flag=1;InsertNode(booktree,a);totalbooks=totalbooks+a.total;printf("图书入库成功!
此文档下载收益归作者所有