图书管理系统BeenYou1997

本系统能实行基本的图书信息管理和借阅功能

下面是设计报告,代码在后边:

xxxxx大学

C语言课程设计报告

题目图书管理系统设计

专业班级xxxx级计算机科学与技术本科x班

组别计科第xx组

学生姓名小哥哥

院(系)信息工程系

指导教师(职称)xxx(教授)

XXX大学

课程设计任务书

班级xxxx级计算机科学与技术本科x班

学号xxxxx姓名小哥哥

学号xxxxx姓名xxxx

一、主要内容:

本次设计主要学习内容包括:

(一)进一步学习并熟练掌握C语言语法和编程思想。

(二)学习C语言提供的库函数,熟悉CodeBlocks的开发工具。

(三)学习C语言函数、链表、结构体、文件读取、指针等知识。

(四)学习软件的设计与开发过程中所需要思想和细节。

二、基本要求:

(一)质量要求

(2)对图书管理系统设计并进行调试、修复、完善、测试。测试图书信息的输入输出是否正确、测试文件的读取与存储是否正常、测试账号切换后是否各项功能是否正常运行、测试评估界面是否合理,友好。

(4)按时完成各阶段工作,不突击,不抄袭。

(二)进度要求

(2)明确课程设计任务,搜集资料:2017年2月28日—3月14日。

(3)完成程序的设计与实现,撰写课程设计论文初稿:2017年3月15日—5月15日。

(4)与指导教师沟通,完成课程设计论文定稿:2016年5月16日—2017年5月28日。

(5)进入课程设计论文审阅阶段,准备答辩:2017年5月29日—6月9日。

三、主要参考资料:

[1]xxxx

[2]xxxxx

[3]xxx

[4]xxxx

完成期限:xxxx年x月xx日

指导教师签名:

年月日

目录

1概述.1

1.1设计思想.1

1.2设计原则.1

1.3课程设计报告内容及分工情况.1

1.3.1课程设计报告内容.1

1.3.2课程设计分工情况.2

2总体设计.3

2.1功能模块图.3

2.2主函数main()3

2.3程序流程图.4

3详细设计.5

3.1函数.5

3.2函数流程图.8

4运行结果与调试.13

4.1运行结果.13

4.2软件调试.15

结束语.17

参考资料.18

附录.19

1概述

1.1设计思想

(1)该系统的设计分成几个相对独立的模块,这些模块都进行集中式管理。

(2)分层的模块化程序设计思想,整个系统采用模块化结构设计作为应用程序,有较强的可操作性和扩展性。

(3)合理的数据设计,在应用系统设计中,相对独立的模块间以数据相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。

1.2设计原则

为了使本系统功能齐全完备,操作简便,最大限度的提高用户的使用的体验,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:

(1)合法性原则:规范录入各种图书信息和各种数据,对用户的账号信息进行规范保存。

(2)实用性原则:根据用户对图书信息浏览和借阅的基本需求设计各种功能,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。

(3)易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。

(4)源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。

(1)系统功能模块结构图和程序流程图

(2)数据结构设计及用法说明

(3)程序结构(画功能模块图或流程图)

(4)各模块的功能

(5).实验结果(包括输入数据和输出结果)

(6)设计体会

(7)参考文献

本组共有3人,具体分工情况如下:

(1)学号:xxxxx,姓名:小哥哥,具体负责写全部代码和功能实现,并完成大部分课程设计报告。

(2)学号:xxxxxx,姓名:xxx,具体负责流程图的制作。

(3)学号:xxxxxx,姓名:xxx,具体负责流程图的制作。

图2-1图书管理系统模块图

函数的功能:用于联系各个功能函数模块,以及退出程序时的退出画面提示。

函数的入口:整个程序是从主函数开始的。

函数的出口:当从main()的ove函数开始中进入,即显示出欢迎使用界面;跳出while循环,然后退出main()函数,即:退出整个程序。

函数调用关系:该函数不被其它函数调用

图2-2图书管理系统流程图

(1)功能函数ling()

函数的入口:从main()中进入。

函数调用关系:被主函数调用。

(2)功能函数FindByNum()

函数的功能:按书号对图书进行查找并输出。

函数的入口:程序从Find()的switch()开关结构中进入,即sclele的值为1时,开始进入该函数,进入函数后,在存储图书信息的stu结构数组中进行查找,找到后进行输出,若没找到则输出“未找到该数”。

函数调用关系:被Find()函数调用。由switch()开关结构中进入,并在文中无返回值的空值void函数。

函数的出口:当输出结果信息用printf()标准输出到屏幕上,然后结束该函数,而执行Find()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

(3)功能函数SortByScore

函数的功能:对所有图书信息按书名的首字母进行排序,并保存到文件“缓存区”中。

函数的入口:从Sort()的switch()开关结构中进入,即sexh的值为1的时侯,进入该函数,开始对图书信息按书名的首字母进行排序,然后将排序结果保存到文件“缓存区”中。

函数调用关系:被Sort()函数调用。由switch()开关结构中进入,并在文中无返回值的空值void函数。

函数的出口:把“排序完成”用printf()标准输出到屏幕上,然后结束该函数,而执行Sort()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

(4)功能函数output()

函数的功能:输出所有图书信息

函数的入口:从Find()的switch()开关结构中进入,即sclele的值为4时,进入该函数。并调用PrintRecord()函数对每一条图书信息进行输出。

函数的出口:将所有图书信息都输入到屏幕上后,执行Find()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

(5)功能函数Huifu()

函数的功能:将所有图书的信息恢复至备份时的状态

函数的入口:从Menu()的switch()开关结构中进入,即select的值为4时,进入该函数。用freopen("图书信息库.txt","r",stdin)将里边的所有图书信息都存入内存,然后再调用save()将所有图书信息都存入到“缓存区”中。

函数调用关系:被Menu()函数调用。由switch()开关结构中进入,并在文中无返回值的空值void函数。

函数的出口:将所有图书信息都存入到“缓存区”中后,执行Menu()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

(6)功能函数BorrowBook()

函数的功能:借阅图书

函数调用关系:被Borrow()函数调用。由switch()开关结构中进入,并在文中无返回值的空值void函数。

函数的出口:将借书结果输入到屏幕上后,执行Borrow()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

(7)功能函数SendBook()

函数的功能:归还图书

函数的入口:从Borrow()的switch()开关结构中进入,即shl的值为3时,进入该函数。之后先判断该用户是否有借书记录,并调用FindByName()函数找到还的图书并对其数量进行修改,最后判断是否按期归还图书和图书有无破损。

函数的出口:还书完成后后,执行Borrow()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

(2)按书号查找图书流程如图3-2所示。

图3-2按书号查找流程图

(3)按书名首字母排序流程图如图3-3所示。

图3-3按书名首字母排序流程图

(4)输出所有图书信息流程如图3-4所示。

图3-4输出所有图书信息流程图

(5)恢复备份功能流程如图3-5所示。

图3-5恢复备份流程图

(6)借阅图书流程如图3-6所示。

图3-6借阅图书流程图

(7)归还图书流程如图3-7所示。

图3-7归还图书流程图

图4-1账号登陆界面

图4-2主界面

(3)该界面为图书管理功能的主界面,可以选择执行查找、排序、修改、恢复图书信息、备份图书信息的操作、返回上一级菜单的功能。

图4-3图书信息管理功能界面

(4)该界面可以实现图书信息查找功能,可以按书号查找、按书名查找、按作者查找、查看全部图书信息、返回上一级菜单的功能。

图4-4查找功能界面

(5)该界面可以进行排序的操作。可以进行按书名首字母排序、按图书单价升序排序、按图书单价降序排序,还可以返回上一级菜单。排序功能是在内存中进行,所以不进行输出。

图4-5排序功能界面

(6)该界面可以实现添加图书、删除图书、删除全部图书信息、返回上一级菜单的功能。

图4-6修改功能界面

(7)该界面可以实现对用户借书记录查询、图书借阅、图书归还、返回上一级菜单的功能。

图4-7图书借还管理功能界面

(1)每个选择界面之后,前一屏幕的内容依旧存在,影响界面的美观;经过老会长的帮助及上网搜索,发现利用“system(“cls”);”可以消去前一屏幕的内容;然而接下来又出现新的问题:每次在执行完讲数据保存到文件的函数后都会输出紊乱。经过多次调试和修改后,发现把是因为freopen(”CON”,stdout)运行不稳定导致,在更换了保存数据的方法后结决了此问题。

(2)在增加了切换账号功能后,在创建新账号后保存到文件的用户借还书记录总是出错但内存中没错,经过调试发现是因为在新增账号时用于存储新账号借还书记录的指针名与一个变量名相同造成每次都判断错误。最后更换了变量名,并使该指针每次使用前都指向NULL。

(3)在借书时不能判断是因为图书数量不足导致不能借阅还是因为没用该图书导致的不能借阅,最后给每种情况标记变量都设置了一不同的值来区分两种不同的情况。

(4)最开始在每次关闭程序后在下次使用前需要手动恢复文件中的数据,不能连续的使用数据,最后加了一个文件来保存各类数据的数量以使数据能够连续自主的调用,不需要再人工修改。

小哥哥:在该设计中主要完成了所有代码的实现,并最终调试实现了该图书管理系统的全部功能。还完成了大部分的设计报告。在设计的过程中熟练了对文件的各种操作,链表和结构数组的使用,清屏函数和暂停函数的使用,对做一个项目的过程有了一个大概的认识,知道了大致的规划。在设计过程中发现一些文件的操作和清屏函数会有冲突,通过改变对文件的操作解决了此问题;

xxx:在本系统的设计中我参加设计了少量函数语句以及制作流程图等任务,在这次的设计前我原本对函数和结构体等了解并不太清楚,通过这次的设计我清楚了这些语句的运用,并且我学会了文件的操作,在文件的修改等地方出现了问题,后来通过查阅资料和讨论解决了这个问题。

[1]《C语言程序设计(第二版)》,甘勇等编著,中国铁道出版社,2015年9月

THE END
1.图书管理系统需求分析本科论文经管文库(原现金图书管理系统需求分析本科论文 https://bbs.pinggu.org/thread-13095121-1-1.html
2.ssm毕设图书馆图书管理系统程序+论文传统图书馆管理中存在的人工操作繁琐、效率低下的问题。例如,人工登记图书借阅和归还信息容易出错且耗时,通过该研究构建的管理系统将实现自动化操作,提高效率。 资源优化配置问题 如何根据用户需求合理配置图书资源和座位资源。如热门图书的库存管理,以及如何根据不同时间段的座位使用情况来调整座位布局等。 https://blog.csdn.net/wuzhou206/article/details/144400529
3.图书管理系统答辩都有什么问题管理咨询","6. 系统有哪些权限管理机制?","7. 系统如何应对网络攻击和数据泄露风险?","8. 系统的可扩展https://www.bkw.cn/qypx/ask/4179717.html
4.图书管理系统论文答辩问题.doc图书管理系统论文答辩问题.doc 4页内容提供方:177***7752 大小:717.92 KB 字数:约1.52千字 发布时间:2020-10-25发布于河北 浏览人气:333 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)图书管理系统论文答辩问题.doc 关闭预览 想预览更多内容,点击免费在线预览全文 免https://max.book118.com/html/2020/1024/8060101054003010.shtm
5.图书管理系统开题报告15篇6、毕业设计的形式审查及改进、预答辩第10周 报告人签名: 六、导师意见 导师签名: 图书管理系统开题报告5 图书室是校园文化建设的主阵地之一,围绕建设书香校园的目标,在学校领导的重视下,文新小学多年来一直努力营造书香校园氛围,建设适合学校发展,符合师生需求的图书室,开展丰富的读书活动,图书室努力为学生成长,教师https://www.ruiwen.com/kaitibaogao/6479128.html
6.计算机毕业设计范例15篇教师可把教学内容制作成多媒体课件进行演示,边讲解边练习,这样就能把理论讲解与动手实践有机结合,能提高实践教学的有效性,学生也可以随时发现问题、提出问题,教师可及时解答问题。该模式主要用于基础课、练习课或复习课的教学。二是创新课堂管理模式。在机房进行教学,可能会产生管理上的问题,为此教师应创新课堂教学管理https://www.fwsir.com/fanwen/html/fanwen_20240616130224_3879194.html
7.继续教育学院规章制度汇编学院制度黄淮学院为了进一步加强对继续教育的科学管理,使各项管理工作进一步规范化、科学化,根据国家和省教育行政部门的一系列文件精神,我们在管理方面进行一些探索,在2018版《继续教育规章制度汇编》的基础上对部分规章制度进行了修订,现将其汇编成册。其中收录了我校有关继续教育的规章制度,选编了上级有关继续教育的重要法规,目的是为继http://cms.huanghuai.edu.cn/s.php/jxjy/item-view-id-92698.html
8.500多个全球及各国重要数据网站集锦(老素材,而且里面的内容需要12、 全球金融稳定报告-市场发展与问题 网站:http://www.imf.org/external/pubs/ft/gfsr/ 普林斯顿大学Pliny Fisk经济学和金融图书馆http://www.princeton.edu/~econlib/ 提供经济学,金融方面的79. 企业经营管理制度系统 提供会员制管理制度文章在线阅读服务。 http://www.smartplan.com.cn/managehttps://www.shangyexinzhi.com/article/2689667.html
9.图书管理系统开题报告如要对很长时间以前的图书进行更改就更加困难了。 基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。 由于书库管理的总目标是:整洁有序,藏书完整,检索便利,利用率高。 通过对这个https://www.unjs.com/fanwenwang/kaitibaogao/20110821165045_683280.html
10.高中信息技术《信息系统的基本功能》答辩高中信息技术《信息系统的基本功能》答辩 1.请简述什么是事务管理系统,它有什么作用。 【参考答案】 日常发生的基本活动都可以理解为事务。例如,某个时刻你在图书馆借了一本书,或是在食堂买了一份饭,都分别是一个事务。事务处理就是面向这些日常的、重复的、普通的事务,对其进行记录、更新、分类、汇总等。https://m.offcn.com/jiaoshi/2024/0123/619682.html
11.图书管理系统答辩稿图书管理系统答辩稿16页 卖家[上传人]:j***9 文档编号:54793052 上传时间:2018-09-19 文档格式:PPT 文档大小:543.50KB下载文档到电脑,查找使用更方便 20 金贝 下载 还剩11页未读,继续阅读 / 16 举报 版权申诉 马上下载 下载提示 常见问题 1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载https://www.jinchutou.com/p-54793052.html
12.成都文理学院20172018学年本科教学质量报告为了规范我校毕业论文(设计、作品)的过程性管理,切实通过毕业论文(设计、作品)培养学生创新意识与创新能力,2018年我校启用了智答云论文管理系统,围绕导师和学生间毕业论文(设计、作品)的指导、答辩全过程展开协作和管理,使教师的指导更加高效,师生的沟通更加及时方便,整个指导过程均有迹可循,学校不仅可以进行全过程的管http://www.scnucas.com/info/1261/15829.htm
13.创业活动策划方案10篇制造业互联网+五大王牌盈利模式:网上商城盈利模式折扣卡系统盈利模式分类信息置顶盈利模式个人店铺盈利模式3. 九点从图书馆门口正式出发,可在校内外开展活动。 4. 活动全程由志愿者对每组进行监督并记录。 安全和卫生本来就是大学生自助厨房核心管理的问题,所以能够取得政府批文的,若大学生由学生自主创业可向https://www.oh100.com/chuangye/6034749.html