- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C课程的设计图书管理系统课程的设计
目录
一、需求分析 - 2 -
二、概要设计 - 2 -
2.1 设计思想 - 2 -
2.2运行平台及开发环境 - 2 -
2.3 数据结构 - 3 -
2.4 系统结构图 - 3 -
三、详细设计 - 3 -
3.1 主函数 - 3 -
3.2 图书基本信息输入 - 4 -
3.3查询模块 - 5 -
3.4 删除模块 - 6 -
3.5 办理借书手续模块 - 7 -
3.6 办理还书手续模块 - 8 -
四、测试结果分析 - 9 -
4.1 输入图书信息模块效果 - 9 -
4.2 查询模块效果示意 - 10 -
4.3 删除模块效果图 - 12 -
4.4 借阅图书模块效果示意图 - 12 -
4.5 归还图书模块效果示意图 - 13 -
五、总结 - 14 -
5.1 优缺点分析 - 14 -
5.2 心得体会与收获 - 15 -
六、参考文献 - 15 -
七、附录 - 16 -
一、需求分析
先分析我所拿到的题目,我需要设计一个简单的图书管理系统。分为两个方面,一方面是对图书的管理。首先需将图书的基本信息写入到指定的储存图书信息的文件中;接下来是查询功能,要实现根据图书的序号和书名查询图书的基本信息;然后是删除功能,要求根据输入序号删除对应图书所有信息。另一方面是学生借书和还书系统。借书后,要求输入学生信息,并且与所借书本对应,并且借出后,书本所存状态随之发生改变,并储存;还书时,要求输入学生的信息,并且将还书信息储存。
根据以上分析可知,由于图书的信息是存放在文件中,所以要有文件的写入读出等操作;同时要对图书信息和对应学生的信息进行浏览、查找或删除等一系列的操作,就要对文件的内容进行读出写入保存,就要涉及到一些简单的算法;此外,由于是一个操作系统,就需要有主菜单实现选择操作。
二、概要设计
2.1 设计思想
根据以上的需求分析可以将整个系统的设计分为六个模块:1、输入图书基本信息模块, 2、查询图书基本信息模块,3、删除图书信息模块,4、办理借书手续模块,5、办理还书手续模块。另外加上系统主菜单的选择的设计。
2.2运行平台及开发环境
此程序是在Microsoft Visual C++软件平台上编译的,具有,可提供编辑语,C++以及等。VC++整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows)、三维动画DirectX API,Microsoft .NET框架。根据以上分析,可得以下图书管理系统设计的框图:
图2-1 图书管理系统设计框图
三、详细设计
3.1 主函数
主函数的设计主要是为调用菜单函数,在菜单函数中实现各个模块功能子函数的调用,同时为用户提供一个较为人性化的操作界面,能够提示用户进行正确的操作,在输入出错后可以有出错提示。具体流程图如图:
图 3-1 主函数操作流程图
实现这部分功能是主要采用switch语句。首先用printf函数在运行界面上打出学籍管理系统和个功能模块及其对应的数字选项。然后输入要进行的操作选项,利用switch语句进行判断,而后进入到不同的功能函数中,进行不同的操作。当然,要在进行完某一项操作要调用main函数,方便用户进行线下一项的操作
3.2 图书基本信息输入
在定义变量时采用结构体数据结构,图书编号、储存的数量是整型,图书的价格在此定义为整型(本也可以定义为float型),图书名称、图书的作者是字符型,采用字符型数组,但数组长度一定要足够,否则会出现数据丢失错误,考虑到图书名称、作者的字符长度,在此定义它们的长度要足够。将涉及到的图书和对应学生的基本信息定义为结构体。
在将图书的基本信息输入时,要将其保存为book_list1.txt,用来存放所有输入的图书的信息。这时就涉及到文件的建立和写入,选取较为简单的fprintf函数作为写入文件的函数。首先定义一个指向文件的指针,再定义一个整型变量,该整型变量count是人为输入的,其目的是为了实现输入书本数目的多少,利用循环输入。在循环输入之前通过指针打开建立一个文本文件,循环输入时fprintf函数自动建立一个文本文件,实现向文件中写入count组数据的功能。循环结束后文件中已经写入要输入的信息。流程图如下;
图3-2 图书信息输入模块操作流程图
3.3查询模块
查询模块的基本思想比较简单,就是在已输入的文件信息中读取出原文件信息。我设计的具体查询方法和操作分为两方面:一方面是通过图书编号进行查询,另一方面是通过书名进行查询。
第一方面,首先在查询函数中定义文件指针,指向要打开的文件,利用fscanf函数读取文件中信息,如果文件指针查到的图书编号与用户输入的序号相同,就将该结构体中的图书的基本信息从文件中输出,显示在屏幕上,从而实现基本信息的查询。
第二方面,首先在查询函数中定义文件
您可能关注的文档
- 35KV电力网规划的设计.doc
- 35kv降压变压所毕业的设计.doc
- 35kv总降压变电所二次系统的设计.doc
- 30层住宅楼多层综合楼及商业楼安全防护施工的方案.doc
- 35kV降压变电站的设计.doc
- 35万吨年聚丙烯装置工艺管道施工的方案.doc
- 35kV城镇变电所电气系统的设计.doc
- 35kV降压变电站毕业的设计.doc
- 35KV施工的项目部篇.doc
- 35万吨预焙阳极的项目煅烧车间沉降室内衬耐火材料及施工招标文件.doc
- 皖2016S215_预制装配式混凝土排水检查井.pdf
- DB32∕T 4111-2021 预应力混凝土实心方桩基础技术规程.pdf
- DB32T4353_2022_房屋建筑和市政基础设施工程档案资料管理规程.pdf
- 各地汽车生产商名单.doc
- 岳麓版高中历史选修四第1单元第4课“千古一帝”秦始皇(课件2)(共36张).ppt
- Unit8task课件-牛津译林版八年级英语下册.pptx
- 2025年广西壮族自治区高中学业水平合格性考试模拟二历史试题.docx
- 安徽省庐巢联盟2024-2025学年高一下学期段考历史试题(二)(解析版).docx
- 福建省三明市2024-2025学年高二下学期期末质量检测历史试题(解析版).docx
- 2025届山西省高三下学期高考冲刺历史试题.docx
文档评论(0)