《数据结构》课程设计报告学号1208210105《数据结构》课程设计报告题目:图书管理系统专业:计算机科学与技术班级:12级(3)班姓名:陈珂指导教师:陈广宏成绩:计算机与信息工程系2014年12月15日2014-2015学年第一学期《数据结构》课程设计报告目录1.设计题目与要求.......................................................................................................11.1问题描述..........................................................................................................11.2基本要求.........................................................................................................11.3进一步完成内容.............................................................................................12.概要设计...................................................................................................................22.1图书初始化.....................................................................................................22.2新书入库.........................................................................................................22.3添加读者信息.................................................................................................22.4借书模块.........................................................................................................22.5还书模块.........................................................................................................32.6查询图书信息.................................................................................................32.7查询读者信息.................................................................................................32.8退出.................................................................................................................33.算法设计...................................................................................................................43.1图书管理系统概括图.....................................................................................43.2线性表的两种存储方式的优缺点.................................................................44.运行结果和调试分析...............................................................................................55.总结体会及源代码.................................................................................................116.参考文献.................................................................................................................27《数据结构》课程设计报告11.设计题目与要求1.1问题描述设计一个计算机管理系统完成图书管理基本业务。基本业务包括:图书管理、读者管理、借书管理、还书管理及查询信息等。1.2基本要求1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;2)对书号建立索引表(线性表)以提高查找效率;3)系统主要功能如下:*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;*归还:注销对借阅者的登记,改变该书的现存量。1.3进一步完成内容1)系统功能的进一步完善2)索引表采用树表3)设计内容4)程序流程图5)源程序6)软件测试报告(包括所用到的数据及结果)《数据结构》课程设计报告22.概要设计2.1图书初始化输入图书的一些信息,书的编号、图书的作者、图书名称、库存数量等,使有一定的库存。图书信息管理包括图书借还、查询等操作,系统用户管理包括系统用户类别和用户数据管理,读者数据管理包括读者类别管理和个人数据的录入、修改和删除。作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。图书管理系统的核心是对图书信息与管理,是以数据为中心的体系结构,依靠数据联通各个部分并使之协调工作。2.2新书入库新书采编入库,输入编号后如果有次数只需输入数量,没有则继续输入书名、作者、数量。目录信息包括图书编号、图书类别、书名、作者、出版社、定价、出版日期、数量等。2.3添加读者信息读者信息初始化,输入读书证号和姓名,只有输入书证号和姓名才能进行借书还书管理。2.4借书模块读者输入读书证号,证号存在输入要借的图书编号,不能借同一本书,如果借书数量以达到最大也不能借书。图书借阅者的需求是查询图书室所存的图书;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,形成借书或还书报表。《数据结构》课程设计报告32.5还书模块归还已借的图书,要先输入读者书证号,书证号存在继续输入要还的图书编号,图书编号存在并且借过此书,归还成功,并修改该书在系统中的库存数量。如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。2.6查询图书信息可以查询图书证号,查看该书被借了几本,借的都是什么书,还书日期是什么时候,库存还有多少。图书管理员或读者可以对图书的基本信息进行查询。根据借阅人编码,获得该人员的全部借阅信息。可以获得所有已到期但尚未归还的催还书目信息。2.7查询读者信息可以查询读者姓名和证号,查看该读者借了几本书,都是什么书和还书日期,还可以借几本书。此模块对应完成用户或管理员对馆藏读者信息的查询。2.8退出退出读书管理系统并保存读者和图书信息。以便图书基于图书管理者再次对图书的管理。《数据结构》课程设计报告43.算法设计3.1图书管理系统概括图图1图书管理系统概括图3.2线性表的两种存储方式的优缺点1、顺序方式顺序存储结构优点是可以实现随机读取,时间复杂度为O(1),空间利用率高;缺点是进行查找操作时比较麻烦,时间复杂度为O(n),同时容量受限制,需要事先确定容量大小,容量过大浪费空间资源,过小不能满足使用要求,会产生溢出问题,虽然可以扩容,但是需要耗时间的。2、链式方式链式存储结构优点,查找操作非常简单,前提条件是知道操作位置,时间复杂度是O(1),但如果不知道操作位置则要定位元素,时间复杂度也是O(n),还有一个很大的优点是没有容量的限制,可以在使用过程中动态的分配内存空间,不用担《数据结构》课程设计报告5心溢出的问题;缺点是它不能实现随机读取,同时空间利用率不高.这两个结构各有优缺点,不同的地方选择不同的结构.尽量利用其优点,避免其缺点。本程序选择的是线性表的链式存储。4.运行结果和调试分析图2进入界面《数据结构》课程设计报告6图3图书信息初始化图4采编入库后查询图书信息的运行结果图《数据结构》课程设计报告7图5登记读者信息图6借书《数据结构》课程设计报告8图7借书后查询图书信息的运行结果图图8借同一本书的运行结果图《数据结构》课程设计报告9图9借不同的书图10借两本书后查询读者信息的运行结果图《数据结构》课程设计报告10图11还书运行结果图图12还书后查询图书信息《数据结构》课程设计报告11图13退出5.总结体会及源代码虽然这次的程序是通过上网查出来的,但是通过这次的实验使我知道了图书管理系统的流程,知道了一些以前不知道的知识,在运行程序时也遇到了一些问题,借书时只能借一本书,再借书就不能显示是借了还是不能借,把最多能借书的数量改了一下还是不行,最后在每一个判断输出之后都加了gotoEND借书,就能正常借书了。程序有点长,本来一个函数就能完成一个功能,他用了两个函数就我把自己能改成一个的改了。借书系统比较复杂,不容易懂,和同学交流了一下自己看了看才明白。这次的实验还让我复习了数据结构的一些知识,如数组,while语句,switch语句,链表,还知道了如何使用system(cls)清屏,还知道了strcmp是用来比较字符串s1和s2大小的,strcpy使用来把字符串s2的值赋给s1的。这次的实验增加了我们自己动手动脑的能力,希望多做一些这样的实验,很有意义,和现实生活结合的程序增加了我的兴趣。《数据结构》课程设计报告12源代码#includestdio.h#includestring.h#includestdlib.h#includeconio.h#defineMax4typedefstructbook{charbook_num[10];charbook_name[20];charbook_writer[10];intbook_xy;/*现有*/intbook_kc;/*库存*/structbook*next;}BK;typedefstructborrow{charborrow_book_num[10];charlimit_date[8];}BO;typedefstructreader{charreader_num[10];charreader_name[10];intright;BOborrow[Max];structreader*next;}RD;《数据结构》课程设计报告13BK*h_book;RD*h_reader;voidLogin();intMenu();voidInit();voidInit_book();voidMenu_select();voidInsert_New_Book();voidFind_Book();voidadd_reader();voidP
本文标题:84图书管理系统
链接地址:https://www.777doc.com/doc-4986489 .html