数据结构图书馆管理系统

数据结构图书馆管理系统

ID:38831404

大小:421.00 KB

页数:39页

时间:2019-06-20

数据结构图书馆管理系统_第1页
数据结构图书馆管理系统_第2页
数据结构图书馆管理系统_第3页
数据结构图书馆管理系统_第4页
数据结构图书馆管理系统_第5页
资源描述:

《数据结构图书馆管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、湖南科技大学课程设计报告题目:图书管理基本业务模拟院系:计算机科学与工程学院专业班级:计算机科学与技术一班学号:0905010119学生姓名:张杰指导教师:李峰2010年12月31日一、问题分析图书馆基本业务模拟包含多方面的操作,其中本程序描述的是图书馆的新书入库、读者注册、图书馆借阅、归还、信息查询(含书籍信息查询和读者信息查询)等功能。1)新书入库功能:新到书籍入库包含几方面的操作:查询该书名的书籍在图书馆信息中是否已经存在,若存在,则增加可借数量和书籍总量,若不存在,则新增加概述信息,从界面输入书籍的编号(0~999999的长整型)、书名(字符

2、串类型)、该书作者名(字符串类型)、该书出版社信息(字符串类型)、出版日期(长整型)、该书的现存量(整型)、该书的总量(整型)。输入该信息之后,将该节点插入到书籍信息链表中去。该节点的插入位置根据查找,找到合适的位置插入,这样可以保证整个数据都是有序的,方便查找。2)读者注册功能没有账号和密码读者和管理员都不能登录系统,本系统默认第一个注册系统的是系统管理员,借阅号为1000,权限是1,并输入自己基本信息,默认可借本数为10,并将所借书信息区全部置零。不是第一个注册的读者,借阅号从1000往后顺延,自己设置密码,权限为0.,其余信息与管理员相同,但是

3、登陆之后的界面,管理员可以看到“入库”菜单选项,普通读者不能看到该选项。3)借阅功能书籍借阅主要涉及存书库和读者信息库双方的更新。用户首先登陆系统,查询(3种查询方式)该书是否存在,该书的剩余数量是否大于零,最后查询该读者是否已经借满书籍。若以上条件都满足,则将该书编号存入该读者的借阅信息区,将该读者的可借书数量减一,该存书的可借数量减一。4)归还功能读者登录后按书名号来归还所借书籍,若书名号正确并且确认归还该书籍,则从读者的借书区删除该书籍,读者的课结束数量加一,将该书的可借数量增加一,然后返回。5)信息查询功能信息查询分为读者信息查询和书籍信息查

4、询,读者信息查询是在读者登录之后,可以显示本人的基本信息以及借书状况(所借书的本数、可借书本书以及所借书的信息),还可查询书籍信息,可根据书籍的编号来查找书籍、根据书名来查找书籍、根据作者名来查询书籍。查询到该书籍后显示是否借阅该书籍。二、数据结构描述根据所给信息,可以采用线性链表来实现该问题。现在分别给予描述。1)读者读者有很多信息需要使用,其中包含读者的姓名、性别、密码、权限、所借书信息。这里我们定义一个结构体来描述他。定义的结构体代码如下:typedefstructREADER{longnumber;//借阅号charname[15];//读者

5、姓名charsex;//读者性别charpassword[16];//读者的密码intresidue;//读者的剩余可借书籍数量longborrowed[10];//读者已经借阅的书籍编号intlimit;//读者权限structREADER*next;//该结构体作为线性链表的一部分用来链接下一个节点的指针}reader;2)书籍同读者信息一样,书籍也有很多信息需要描述,其中包含书籍的编码、书名、书籍作者、书籍的总量、书籍的可借数量、出版社信息、出版日期,整个全部我们定义一个reader类型的结构体,该结构体定义的代码如下:typedefstruc

6、tBOOK{longnumber;//书籍编号charname[30];//书名charauthor[30];//作者charpress[30];//出版社信息longpresstime;//出版日期intexist;//在库数量inttotal;//总数量structBOOK*next;//指向写一个节点的指针}book;3)数据链接数据通过每个节点的“next”指针来链接,是单线性链表,只可以从头部查询数据,所以要记录好该链表的头结点位置,不要拿该节点的头结点参与运算,否则在程序中可能会修改该链表的头结点的信息,导致后续程序无法运行。4)查询查询

7、书籍分为按书名查询、按书号查询和按作者查询。按书名查询到的书籍我们设定为是唯一的,及整个书库中只有一种叫该名的书籍。根据输入的书籍名,从书籍信息链表的首元节点开始遍历,若查找到则返回该书籍的指针,若没找到,则返回NULL。按作者查询的书籍可能不止一种,一样从头结点开始遍历数据,每查到一个,则输出该书信息,并且继续往下查询,该函数没有返回者,读者可以根据查询到的数据,记下编号或者书名来进一步确认该书籍信息,然后借阅该书籍。按书号查询,书号作为KEY值,在书籍里面是独一无二的,我们建立一个索引表,每两个key之间有5本书籍,这样根据所查书籍的书号可以确认

8、该书在那个大概的区段,但后从该区段的首地址往下搜索最多5次便可确认该书的位置或者确认该书是否存在于该书库中。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。