图书管理系统设计研讨.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HUNAN UNIVERSITY 程序设计训练 报 告 学生姓名 学生学号 专业班级 指导老师 起 止 时 间 2009年11月8日----2009年11月20日 实训一 图书管理系统 实训目的: 掌握结构化程序设计的基本思想; 熟练掌握结构以及指针的设计和应用; 熟练掌握文件的存取方法; 了解综合系统设计的基本原理; 提高C语言程序设计的综合应用能力。 实训任务: 开发一个简单的图书管理系统,具体功能要求如下: 图书管理:增加图书、修改图书、删除图书、统计图书; 借阅管理:查找图书、借阅图书、归还图书、借阅图书统计; 读者管理:申请读者卡、删除读者卡、修改读者卡; 馆员管理:添加管理员、修改管理员信息、删除管理员。 根据以上功能说明,设计馆员信息、读者信息、读者卡信息、图书信息的存储结构,数据存储在文件中,界面要求有合理的提示,每个功能可以设立菜单,根据提示可以完成相关的功能要求。 实训设计: 基本数据结构设计: 考虑到本程序有很多增删工作,故采用链表存储结构。 在主函数中创建四个空链表: 2.系统结构设计: 系统结构设计说明了整个系统的功能模块结构以及调用关系,本设计采用自顶向下的结构化方法,将每个模块自顶向下展开。 3. 模块设计: 主控模块 在该模块中,提供系统的主菜单,通过主菜单用户选择图书管理、借阅管理、读者管理、馆员管理和退出系统。 而这些功能,我没有写成大函数,只是多写了几个界面显示函数,即二级菜单显示,再在二级菜单中选择,实现相应的功能。其中退出系统的实现很简单,在主函数main()中用return 0 语句退出main()函数即可。 图书管理模块 在该模块中,提供子菜单供用户选择增加图书、修改图书、删除图书、统计图书、返回主菜单。 增加图书通过提示输入,完成一条记录输入后,可以返回上一级菜单,再选择进行图书管理模块的操作。 删除、修改通过图书,通过编号查找到该书,然后再进行删除、修改。做完一条记录的删除、修改后可以返回上一级菜单。 统计图书,对存书进行统计输出显示图书编号、书名、作者、出版社、状态(0表示在馆,1表示已借出),显示完成后按任意键返回到图书管理模块,可以再进行相关操作。 借阅管理模块 在该模块中,提供子菜单,供用户选择查找图书、借阅图书、归还图书、借阅图书统计和返回主菜单的操作。 查找图书可以通过图书编号、图书作者进行查找,然后将查找的结果输出。 借阅图书首先输入读者卡号,然后输入所借图书编号或图书作者,找到图书后,进行借阅登录。 归还图书,首先输入所还图书编号,然后在图书库中找到这本书,并将其状态设置为0,表示此书在馆。 借阅图书统计,把已经借出的图书的信息输出,具体实现即找到书的状态为1的图书,然后将结果输出。 返回主菜单,我是直接在主函数中用了goto语句,直接跳到主菜单。 读者管理模块 在该模块中,提供子菜单供用户选择申请读者卡、删除读者卡、修改读者卡、借阅情况统计和返回主菜单。申请读者卡通过数据录入向导逐项输入,完成一条记录输入后,添加到读者链表中。删除、修改读者卡通过读者卡号查找到该记录,然后再进行删除、修改,返回读者链表的头指针。借阅情况统计。则是对图书的状态为1的图书逐一进行统计,并输出统计结果。 馆员管理模块 在该模块中,提供子菜单供用户选择增加馆员、删除馆员、修改馆员、馆员统计和返回主菜单的操作。增加馆员通过数据录入向导逐项输入,完成一条记录输入后,添加到馆员链表中;删除、修改馆员通过馆员号编号查找到该记录,然后再进行删除、修改,并将修改后的结果保存到馆员链表中;馆员统计对全体馆员进行逐项统计,并输出统计结果。 具体实现: 设计好思路后,接下来就是具体写函数实现了,在这里我就不一一对函数进行说明了,只说说图书管理模块的addbook、modbook、delbook、countbook几个函数。 addbook这个函数,就是在链表中增加新结点的操作,把头指针作为参数传进来,进行增加后再把头指针返回: modbook这个函数,就是修改链表中某一结点的内容,先通过编号找到要修改的图书,然后选择要修改的内容,再对其进行修改即可。同样把头指针作为参数传进来,进行修改后再把头指针返回: delbook这个函数是删除链表中的某一个结点,链表的删除操作用两个指针即可,要注意的是,要对删除点位于头结点和尾结点进行讨论。同样把头指针作为参数传进来,进行删除后再把头指针返回: countbook这个函数,就是将链表中的节点的内容一一输出,用个循环即可: 其他几个模块的函数,跟这几个函数

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档