数据结构课程设计图书管理.doc
《数据结构课程设计图书管理.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计图书管理.doc(54页珍藏版)》请在咨信网上搜索。
1、数据结构课程设计报告题目:6.3图书管理 学 院 计算机学院 专 业 软件工程 年级班别 2023级2班 学 号 学生姓名 林迅玄 指导教师 李藜 难度选做独立完毕率%自评 5有成 绩 2023年7月1日一、需求分析【设计任务描述】设计一个计算机管理系统完毕图书管理基本业务。图书管理基本业务活动涉及:对一本书的采编入库、清除库存、借阅和归还等等。【输入的形式和输入值的范围】进入管理界面输入整型数据0-7选择需要的操作书号、现存量、总存量为大于零的整型数据,输入值的范围由系统整型数据范围而定。书名、作者名、出版社名称为字符串类型数据,长度不大于20。借书证号码,归还时间均先由字符串输入再由函数转
2、换为整型数据,借书证号码长度不大于5位字符,归还时间长度不大于8位。【程序所能达成的重要功能】1. 图书信息录入功能:每种书的登记内容涉及书号、书名、著作者、出版社名称、现存量和总存量等。2. 图书查询功能:分别可按书号、书名、作者、出版社名称查询图书,还可查询图书的当前借阅信息。3. 排序功能:对书库中的图书按书号排序。4. 图书修改功能:对选定图书信息进行修改。5. 图书删除功能:某本书已无保存价值,将其从书库中注销。6. 图书借阅功能:若图书现存量大于零,登记借阅者图书证号和归还日期,图书现存量减1。7. 图书归还功能注销对借阅者的登记,改变该书的现存量。【测试数据】输入1进入图书录入信
3、息: 输入需要录入的图书信息的个数,依次录入以下信息书号书名作者出版社名称现存量总存量1weg554xhj447yez992sap16166rej10108ift20203dfg18185clg171711mlg13139qat141410bop88 成功则输出“录入成功”错误则输出“此图书已存在!”、“请重新输入”输入2进入图书查询:1. 按书号查询 输入2 成功则输出书号书名作者出版社名称现存量总存量2sap1616 错误则输出“对不起,不存在此图书!”2. 按书名查询 输入c 成功则输出书号书名作者出版社名称现存量总存量5clg1717 错误则输出“对不起,不存在此图书!”3. 按作者名
4、查询 输入e 成功则输出书号书名作者出版社名称现存量总存量1weg556rej10107yez99 错误则输出“对不起,不存在此作者的图书!”4.按出版社名称查询 输入g 成功则输出书号书名作者出版社名称现存量总存量1weg553dfg18185clg171711mlg1313 错误则输出“对不起,不存在此出版社出版的图书!”输入4进入图书修改 输入w 对的则重新录入该书信息书号书名作者出版社名称现存量总存量1weg66 错误则输出“不存在此图书”输入5进入图书删除 输入d 成功则输出“删除成功” 错误则输出“你输入的书名不存在,请核算后重新输入!”输入3进入图书排序 输出书号书名作者出版社名
5、称现存量总存量1weg662sap16164xhj445clg17176rej10107yez998ift20209qat141410bop8811mlg1313输入6进入图书借阅 输入w 成功则继续输入 错误则输出“此图书不存在!”输入15成功则继续输入 错误则输出“输入有误,请重新输入” 输入20230101 成功输出“借书成功!” 错误则输出“此图书不存在!”、“不好意思,此书已借完!”、“你已经借了 这本书,不可以反复借!”输入6进入图书借阅 反复输入w 17 20230715 w 25 20231109输入2进入图书查询 输入2按书名查询输入w成功则输出书号书名作者出版社名称现存量总
6、存量1weg36 错误则输出“对不起,不存在此图书!”输入2进入图书查询 输入5查询图书借阅信息输入w成功则输出借阅者图书证号归还时间152023010117202307152520231109错误则输出“不存在此图书”输入7进入图书归还 输入w 成功则继续输入 错误则输出“此图书不存在!”输入17成功则输出“该书归还成功!”错误则输出“你输入的图书证号不对的!请重 新操作!”输入2进入图书查询 输入5查询图书借阅信息输入w成功则输出借阅者图书证号归还时间15202301012520231109错误则输出“不存在此图书”输入0退出系统成功则输出“谢谢使用”二、 概要设计所用数据结构:线性表、查
7、找、排序借阅者的存储结构体数据类型是无表头单链表。typedef struct User /借阅者的存储结构体 int number; /借书证号码 int limitdate; /归还时间 struct User *next; /下一个借阅者User; /定义用户的的信息图书信息的存储结构是带表头单链表。typedef struct int num; /图书的书号 char name20; /书名 char author20; /著者 char press20; /出版社名称 int left; /现存量 int count; /总存量 User *user; /借阅该书的人ElemType
8、; /定义书的信息typedef struct LNode /定义单链表结点类型ElemType data; struct LNode *next; LinkList;主程序流程以及各程序模块之间的调用关系:主程序模块图书管理系统借阅者信息模块图书信息的录入添加图书信息的查询模块图书信息的排序模块图书信息的修改模块图书信息的删除模块图书的借阅模块图书的归还模块退出图书管理系统 开始输入功能所相应的数字输入的数字小于0大于7执行所选功能 N Y重新输入 1.图书信息录入功能输入需要录入的图书信息的个数n循环输入n个图书信息是否有此图书向系统录入此书信息 Y Y N 2. 图书查询功能选择查询方式
9、输入的数字小于0大于6执行所选功能 Y N按书号查询遍历书库查找输出书本信息不存在此书 1. N Y按书名查询遍历书库查找输出书本信息不存在此书 2. N Y按作者查询遍历书库查找输出书本信息不存在此作者的书 3. N Y按出版社查询遍历书库查找输出书本信息不存在此作者的书 4. N Y 查询图书借阅信息遍历书库查找输出借阅信息不存在此书 5. N Y返回 6.按书号递增有序排序(直接插入排序法)3. 图书排序功能输入书名遍历书库查找修改书本信息不存在此书4. 图书修改 N Y输入书名遍历书库查找删除书本信息不存在此书5. 图书删除 N Y6.图书借阅 输入书名遍历书库查找登记信息不存在此书是
10、否可借借出失败 N Y Y N输入书名遍历书库查找注销信息归还不存在此书是否借过此书归还失败7.图书归还 N Y N Y三、 具体设计原理:图书管理系统规定实现许多的功能。将软件的设计任务提成许多小的功能模块进行设计。本程序通过度析提成以下几个子任务:图书信息录入、图书信息的查询、图书信息的排序、图书信息的修改、图书信息的删除、图书的借阅、图书的归还、退出图书管理系统。伪码算法:主程序:(1) 创建单链表L,分派内存并置空;(2) 输出选择菜单;(3) 输入选择操作数s;(4) Switch(s)执行所选操作;图书录入功能:(1) 输入需要录入的图书信息的个数n;(2) For(i=1;ine
11、xt)(1) 输入k(与t相应);x=0;(2) While(若原单链表中有数据结点) if(k不等于p的t)p指向下一个结点; else 输出p的信息为所找信息并指向下一个结点,x+; Endwhile(3) if(p为空&x为0)查询k不存在;查询图书借阅信息:(1) 输入k(书名);p=L-next;x=0;(2) while(p不为空) if(k不等于p的书名) p指向下一个结点; else user指向p的第一个借阅者信息结点; for(;user不为空;user指向下一个结点) 循环输出借阅者图书证号和归还时间 x加1; p指向下一个结点; Endelse Endwhile(3)i
12、f(p为空&x=0)不存在此图书;图书排序功能:(直接插入排序法)(1) p指向L第一个数据结点;(2) if(若原单链表中有数据结点) r保存*p结点直接后继结点的指针; p后继指针置空,构造只含一个数据结点的有序表L; While(r不为空) 将r中的结点按递增顺序插入L中; Endwhile Endif图书修改功能:(1)输入k(书名);p指向L第一个数据结点;(2)While(若原单链表中有数据结点) if(k等于p的书名)p修改信息并返回; p指向下一个结点; Endwhile;(3) 输出图书不存在;(4) 返回;图书删除功能:(1)输入k(书名);p指向L第一个数据结点;q指向p
13、前驱结点;(2)while(p不为空&k不等于p的书名) p,q各自指向下一个结点;(3) if(p不是最后的结点)q指向p的下一个结点,删除成功;(4) if(p是最后的结点&k不等于p的书名)书名不存在;(5) else q下一个结点置空,删除成功;图书借阅功能:(1) 输入k(借阅书名);p指向L第一个数据结点;(2) while(p不为空&k不等于p的书名) p指向下一个结点;(3) if(p是最后的结点&k不等于p的书名)书名不存在;(4) else if(p书现存量小于1)此书已借完!;(5) else 注册借阅者信息结点s(图书证号和归还日期); if 1(p图书尚无人借阅) 借
14、书成功;p结点的借阅者信息结点保存s;现存量减1; else 1 u保存p结点的第一个借阅者信息结点; while(u不为空&u的图书证号不等于s的图书证号) u指向下一个结点; if 2(u为空&u的图书证号不等于s的图书证号) 借书成功;u下一个结点结点保存s;现存量减1; else if(u的图书证号等于s的图书证号)不可以反复借; Endelse 1 Endelse图书归还功能(1)输入k(归还书名);p指向L第一个数据结点;(2)while(p不为空&k不等于p的书名) p指向下一个结点;(3) if(p是最后的结点&k不等于p的书名)书名不存在;(4) else if(k等于p的书
15、名) 输入图书证号n; user指向p的第一个借阅者信息结点; if 1(n等于p的第一个借阅者信息结点的图书证号) 归还成功;p的第一个借阅者信息结点指向下一个结点;现存量加1; else 1 while(user后继指针不为空&user的图书证号不等于n) pre保存user指针; user指向下一个结点; Endwhile if(user的图书证号等于n) 归还成功;pre的第一个结点指向user的下一个结点;现存量加1; else 输入图书证号不对的,重新操作; Endelse 1 Endelse函数调用关系图mainSwitch()()CreateListR(L)Search(L)S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 图书 管理
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。