数据结构课程设计报告图书管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计报告图
书管理系统
Revised by Jack on December 14,2020
课程设计报告课设课题:课程设计——图书管理系统
学院:电子信息学院
专业:网络工程
姓名:
班级学号: BX1213
指导教师:张艳
报告日期:
目录
一、需求分析 (1)
系统开发背景和意义 (1)
设计题目与要求 (1)
二、总体结构设计 (2)
三、各子模块设计 (3)
初始化图书信息 (3)
系统主界面 (3)
采编入库 (4)
输入读者信息 (4)
借阅图书 (4)
归还图书 (6)
查询图书信息 (7)
查询读者信息 (7)
四、程序设计调试情况分析 (9)
五、测试结果 (12)
欢迎界面 (12)
初始化图书信息 (12)
系统主界面 (13)
采编入库 (13)
输入读者信息 (14)
借阅图书 (15)
归还图书 (16)
查询图书信息 (16)
查询读者信息 (17)
保存文件,退出 (18)
六、总结 (19)
七、参考文献 (20)
八、附录(源代码) (21)
一、需求分析
系统开发背景和意义
图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。
图书管理系统需要满足来自图书馆工作人员、普通用户和借阅者三方面人员的需求。图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时还可通过图书编号等查询相应的借阅情况;普通用户的需求是查询图书馆所存的图书的相关情况;图书借阅者的需求是查看自己的相关信息及查询自己的借阅情况。
设计题目与要求
【问题描述】
设计一个计算机管理系统完成图书管理基本业务。
【基本要求】
1) 每种书的登记内容包括书号、书名、着作者、现存量和库存量;
2) 对书号建立索引表(线性表)以提高查找效率;
3) 系统主要功能如下:
*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
*归还:注销对借阅者的登记,改变该书的现存量。
二、总体结构设计
有八个模块
1) 图书初始化
输入图书的一些信息,编号、作者、书名、数量,使有一定的库存。
2) 新书入库
新书采编入库,输入编号后如果有次数只需输入数量,没有则继续输入书名、作者、数量。
3) 添加读者信息
读者信息初始化,输入读书证号和姓名,只有输入书证号和姓名才能进行借书还书
4) 借书模块
读者输入读书证号,证号存在输入要借的图书编号,不能借同一本书,如果借书数量以达到最大也不能借书。
5) 还书模块
归还已借的图书,要先输入读者书证号,书证号存在继续输入要还的图书编号,图书编号存在并且借来此书,归还成功。
6) 查询图书信息
7) 查询读者信息
可查询读者姓名书证号,借了几本书,都是什么书和还书日期,还可以借几本书。
8) 退出
退出读书管理系统并保存读者和图书信息。
系统主界面
初始化之后,进入系统,显示功能列表,可选择任意系统,但在借书之前先要输入读者信息。
采编入库
选择采编入库的功能后,先输入图书编号判断是否存在,若存在,则在原有记录上加上添加的图书数量;若不存在,则加入新的记录。
否
输入读者信息
选择读者登记后,输入读者编号跟姓名。
借阅图书
选择借阅图书功能后,输入读者证号,判断该读者是否存在,若存在则输入借阅图书的编号,判断该图书编号是否存在,若存在,则判断读者借阅的图
书数量是否满了和是否借阅了相同的书籍,判断成功后,则输入归还该图书的日期,该图书现有量减一,借阅成功;若读者不存在则返回。
否
是
否
是
是
是 否
否
判断读者是
看是否还有此图
看读者的借书
看读者是否
归还图书
实现归还图书功能时,首先输入读者编号,并判断是否存在,若不存在就按任意键返回,;若存在输入归还的图书编号并判断是否存在,若归还图书编号不存在,则返回。存在后,将读者借阅该图书的信息清空,该图书的现有量加一。最后按任意键返回
否
是
否
是
查询图书信息
查询图书信息时,输入图书的编号,判断是否存在。不存在则返回;存在则输出图书的编号,书名,作者,现有量,跟库存量。
判断图书信
是
否
查询读者信息
查询读者信息时,首先判断读者的编号是否存在,不存在就按任意键返
回。若存在,则输出读者的证号,姓名,和借阅的图书编码及其还书日期。
是
否
四、程序设计调试情况分析
在整个课程设计中,我们遇到了许多的问题。有些问题吧,我们在苦思冥想的时候,突然我们的编译器显示出了正确的结果,当我们欣喜若狂的在运行下一次的时候又会出现相同的问题,在借阅的过程中,在一个读者借阅了两本书以上的时候,上一本书的归还日期上还有下一本书上的编号,最后一本书输出的才是正确的结果。下图是借阅了两本书的截图:
图4-1
看到这里我们也知道是第一本书的还书日期的地址空间跟第二本书的编号连接在了一起导致输出的时候一直到第二本书编号的的字符串后面的‘/0’结束。最后发现是我们在定义还书日期这个字符串的时候开辟的空间太小。我们把char limit_date[8];改为char limit_date[10]就好了。
图4-2
判断读者信息