欢迎来到天天文库
浏览记录
ID:47529943
大小:119.01 KB
页数:38页
时间:2020-01-13
《图书管理信息系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构课程设计报告设计题目:图书管理信息系统的设计与实现专业通信工程(物联网)班级学生学号指导教师起止时间2012-8-20至2012-9-11湖北师范学院2012年下学期一、设计题目十七、图书管理信息系统的设计与实现【问题描述】图书信息所表示的就是一个数据库文件。图书管理一般包括:图书采编、图书编目、图书查询及图书流通(借、还书)等。要求设计一个图书管理信息系统,用计算机实现上述系统功能。【基本要求】建立一个图书信息数据库文件,输入若干种书的记录,建立一个以书号为关键字的索引文件;在主数据库文件中建立以书名、作者及出版社作为次关键字的索引以及对应的索引链头文
2、件,如图所示;建立关于书号、书名、作者及出版社的图书查询;(1)实现图书的借还子系统,包括建立读者文件、借还文件、读者管理及图书借还等相关的处理。记录号书号书名指针1作者指针2出版社指针3分类藏书量借出数11021数据库0李小云0人民邮电00218021014数据结构0刘小洋0中国科学00136031106操作系统0许海平0人民邮电10247041108数据结构2孙一0清华大学00135051203程序设计0李小云1中国科学20356062201数据库1许海平3清华大学40216072360数据结构4李小云5人民邮电30135080030程序设计5刘小洋2清华大
3、学603570a)图书主索引文件书名链头地址长度作者链头地址长度出版社链头地址长度数据库62李小云73人民邮电73数据结构73刘小洋82中国科学52操作系统31许海平62清华大学83程序设计82孙一41b)书名索引链头文件c)作者索引链头文件d)出版社索引链头文件二、设计内容设计一个计算机管理系统完成图书管理基本业务。 (1)每种书的登记内容包括书号、书名、著作者、现存量和库存量; (2)对书号建立索引表(线性表)以提高查找效率; (3)采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有, 则只将库存量增加; (4)借阅:如果一种书的现存量大于0
4、,则借出一本,登记借阅者的书证号和还 期限,改变现存量; (5)归还:注销对借阅者的登记,改变该书的现存量。三、概要设计:确定所需模块及模块间调用关系分析:首先应该定义借书人的结构体信息和图书结构体信息,为了便于查找图书和借书人,分别对其建立单链表。然后定义buy(),SearchByNum(),SearchByName(),borrow(),return()五个函数分别实现图书采编入库的功能,按书号查询的功能,按书名查找的功能,借书功能和还书功能。 .根据任务的要求,先定义头文件。然后写出借书人和图书的结构体信息。为了便 于查找图书和存储借书人的信息,分别对借
5、书人和图书采用链表的形式存放。 //头文件的声明 #include #include #include #defineMAXSIZE100//最大值定义为100 #defineLIST_INIT_SIZE100//图书证使用者最大值定义为100 //借书人的结构体typedefstructBoro//借书记录{charBNum[20];//所借书的书号charBorDate[8];//借书日期charRetDate[8];//归还日期structBoro*next;}Bor;typedefstructLi
6、nkBook{Bor*next;//该图书证的借书记录charCNum[20];//图书证号intTotal;//借书的数量}lend[LIST_INIT_SIZE];//借书人数组//图书的结构体信息typedefstructLNode{charCardNum[20];//图书证号structLNode*next;}LinkList;//借书人typedefstructbook{//每种图书需要登记的内容包括书号、书名、作者、出版社、总库存量和现库量。charnum[20];//书号charname[20];//书名charauth[20];//作者charp
7、ub[20];//出版社intTotNum;//总库存intNowNum;//现库存LinkList*next;//借了该书的人}ook;1、新图书采编入库的设计方案 采编入库:新购入一种书,如果该书在图书账目中已经存在,则将其库存量增加(包 括总库存量和现库存量),如果该书不存在,则在图书账目中增加一种书,总库存量和现库存量均为1。为了便于查找,另外定义了一个专门用于查找的函数BinarySearch(),使用的是折半查找法。 (1)折半查找法查找书号 intmid=0;//外部函数mid,用来返回查找到的位置 intBinarySearch(ookboo,c
8、harSearchNum
此文档下载收益归作者所有