图书管理系统 c++ 数据结构实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 1 数 据 结 构 课 程 设 计 说 明 书 ? ? ? 学生姓名: 学 院: 软件学院 专 业: 信息管理与信息系统 题 目: 图书管理系统 成绩 指导教师 ? ? ? ?2011年1月6日 1.设计目的(小标题黑体五号字) 《数据结构》课程主要介绍最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。进行数据结构课程设计要达到以下目的: 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 2.设计内容和要求 1)每种书的登记内容包括书号、书名、著作者、现存量和库存量; 2)对书号建立索引表(线性表)以提高查找效率; 3)系统主要功能如下: *采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加; *借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量; *归还:注销对借阅者的登记,改变该书的现存量。 3.本设计所采用的数据结构 定义图书链表和图书索引结构 struct Book { char BookID[10];/*图书编号*/ char BookName[512];/*书名*/ char Writer[512];/*作者*/ int CurrentNumber;/*现存量*/ Book *pNext;/*下一个图书信息*/ }; struct Index { char BookID[10];/*图书编号*/ Index *pNext;/*下一个索引指针*/ }; /*借阅信息结构*/ struct Borrow { char BookID[10];/*借阅图书编号*/ char BookName[512]; /*书名*/ unsigned long StuID; /*图书证号*/ char ReturnTime[512];/*归还日期*/ Borrow *pNext; /*下一个借阅信息*/ }; 4.功能模块详细设计 4.1 详细设计思想 主函数main() 主函数通过一个switch语句实现对系统功能的选择。 主菜单选择函数ShowMainMenu() 此函数包括退出系统,图书入库,查询库存,查询借阅和归还图书五个函数,通过调用主菜单函数判断用户做出的选择,从而进行相应的操作。 图书入库函数PutBookInLib() 此函数通过的创建一个图书链表,达到对新进书判断,若在现有的图书中找到该书,则直接进行入库,并记录下图书的数量,若找完整个图书量表也没找到该书,则要记录下新进图书的名称,作者,数量,并把该书插入到已有数中,方便下次对新书的判断。 查询图书馆库存函数QueryBookLib() 查询图书馆库存,查询不改变数据,故传入指针即可。显示图书的编号、名称、作者、现有量以及库存量 借阅图书函数BorrowBook() 此函数通过读者的图书证号对读者链表从头至尾进行查找,若找到读者,则显示读者图书证号以及姓名,然后利用for循环和指针,对读者所借图书进行查找并显示。若找不到读者,显示读者标号不存在,按任意键回到查找菜单选择函数界面。 借阅图书函数BorrowBook() 此函数需要读者输入的图书证号,根据读者输入的要借的图书编号,再利用while循环遍历是否存在该书,若该书不存在,则显示此书不存在,若该书存在,再利用if判断是否还有现存,若无现存,在提示此书已借完,若还有现存,提示借书成功,根据库函数 time.h自动登记归还日期。 查询借阅函数QueryBorrow() 此函数通过while循环实现对所有已借出图书的遍历,并输出所有已借出图书的信息。 归还图书函数ReturnBook() 此函数也是以用图书链表和读者链表对读者还书进行操作,根据读者输入的图书证号,利用while循环对读者链表进行遍历,查找是否存在该读者,若读者不存在,则提示该读者的图书证号不存在,若读者存在,根据读者输入的要还的图书编号,再利用while循环遍历是否存在该书,若该书不存在,则显示此书编号不存在,若该书存在,则利用for循环把读者的图书链表中要还书后面的书向前移一个单位,覆盖掉链表中该书的信息,并把读者的借书量减一,把图书的现存量加一。 4.2 核心代码 #include stdio.h #include stdlib.h #include

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档