c语言设计的图书管理系统设计实践报告

c语言设计的图书管理系统设计实践报告

ID:5407262

大小:823.00 KB

页数:58页

时间:2017-12-10

c语言设计的图书管理系统设计实践报告_第1页
c语言设计的图书管理系统设计实践报告_第2页
c语言设计的图书管理系统设计实践报告_第3页
c语言设计的图书管理系统设计实践报告_第4页
c语言设计的图书管理系统设计实践报告_第5页
资源描述:

《c语言设计的图书管理系统设计实践报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言设计的图书管理系统设计实践报告1问题描述图书管理系统作为一个应用软件将为学校的老师和学生提供一个与学校图书馆图书以及个人信息进行交互的平台。根据系统界面的提示信息,操作者就可以对图书信息进行查询,借阅,还书,登陆个人账户则可以个人账户信息,管理员通过登陆管理员账户可以整理和修改书籍和学生信息。2开发环境visualC++6.03功能分析角色1:管理员序号功能描述备注1书籍借阅——2书籍归还账户状态有提示3查询书籍信息能按书名、作者、编号查找4修改账户密码——5修改学生数据仅管理员有此权限6修改图书数据

2、仅管理员有此权限7查询账户状态会提示还书角色2:学生序号功能描述备注1书籍借阅——2书籍归还账户状态有提示3查询书籍信息能按书名、作者、编号查找4修改账户密码——7查询账户状态会提示还书581项目设计4.1程序结构设计借书基本信息借阅状态还书查询账户普通账户进入退出系统管理员作者编号全部显示书名查询书籍修改密码修改账户图书信息学生信息修改数据库借还书管理权限581.2数据结构设计程序中用到的特殊数据结构(非标准C的基本数据类型)。存储学生数据的结构体:typedefstructinformation{cha

3、rbookNum[10];charbookNam[50];charbookAut[20];floatbookPri;intstatus;structinformation*next;}info;存储图书数据的结构体:typedefstructstudent{charstuNam[20];charnumber[10];charpassKey[20];intborrowSta;charkey;structstudent*next;}studentDat;1.3主要算法(1)查询书籍函数:findBo按编号cho

4、ise开始choise?显示所有按书名按作者返回结束1234058(2)登录函数:checkAcc登录结束输入数据检查账户有无数据账号密码帐号、密码开始存入文件YN58(3)更改书籍函数:changeBo增添书籍choise开始choise?更改编号更改状态删除书籍返回结束12340(4)删除书籍函数:delBook结束继续?编号删除开始存入文件YN58(5)添加书籍信息函数:addBook开始结束继续?输入书信息排序插入链表存入文件YN1程序运行及调试(1)进入系统58(2)创建数据58(3)主菜单58(

5、4)实现的主要功能5858581总结首先说说系统运用的原理,主要是是图书数据和学生数据的动态存储与调用,通过函数之间的相互调用实现系统各级菜单的层次递进。操作者运行系统时需要先检查是否存在相应的数据文件,如果没有则说明系统首次运行,待初始化数据后,需要建立针对图书数据和学生数据的两个不同的独立链表,并且将链表数据存储到文件中,随后向各个函数传入链表首地址(首地址固定),根据各个函数功能的不同,如果需要更改学生或者图书数据,则直接通过对链表的删除、增加和查询实现对学生信息以及图书信息的访问、修改和调用操作。随

6、后系统将修改后的链表数据再次存入固定文件中,操作者每次运行系统时,重复以上对链表和文件的操作,以此实现外界和系统存储数据的动态交互58,提高系统运行效率。另外图书数据和学生数据都以结构体数据块的形式存储,以便于操作。这个图书管理系统几乎里面所有的东西都是C语言课程所讲的,比如说链表的创建、删除、排序、添加,结构体的正确使用,文件的创建、存储、读取,指针的操作,函数之间参数的传递等等。在开始着手完成整个系统之前,我先写出了所有会用到的函数声明,同时根据系统的各级之间嵌套关系和调用关系确定了所有必须用到的和需要

7、传递的参数,甚至预先还画出了流程图,我觉得这样的话思路会比较清晰,而不是写一点代码,再想想会用到的东西。虽然这样,最后我还是发现了代码存在一些问题,因为写每个函数时没有单独调试,到最后还是稍显麻烦,同时也是因为层层嵌套的原因,导致一个地方改动的话,很多地方都要稍加改动,这些以后都可以稍加注意,可以提高自己的工作速率。对于自己着手的这个图书管理系统,我觉得功能实现的还是比较完善的,本参照一个真正的系统的使用情况,我对多方面都进行了考虑,也从用户自身的角度来对代码进行了相应的优化,比如每个一些函数结束之后会自动

8、弹出功能菜单来提示操作者接下来可能要执行的各种操作,还有就是如果用户某一项操作没有成功之后,会清楚地提示让用户做出正确的选择,而不是程序死在一个地方或是毫无提示信息。不过仍然有一些东西我觉得还有点欠缺,函数之间的嵌套关系导致了很多函数需要传入更多的参数、系统从链表读取数据之后是以二进制的形式来存入文件中的,这样虽然在数据量大的情况下能够提高程序的运行效率,但是操作者却不能像修改TXT文件那样直接在文件中修改数据,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。