C++大作业图书馆管理系统.docx_第1页
C++大作业图书馆管理系统.docx_第2页
C++大作业图书馆管理系统.docx_第3页
C++大作业图书馆管理系统.docx_第4页
C++大作业图书馆管理系统.docx_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

陕西科技大学镐京学院图书馆管理系统大作业说明书学生姓名 董勋凯 学 号 2412332 所属学院 电信工程学院 专 业 电气工程及其自动化 班 级 电气123班 组 长 董勋凯 电信工程学院制简约高效 追求卓越目录摘要21.图书管理系统概述31.1图书管理系统总体设计思想概述31.2总体设计流程图32.图书管理系统详细设计52.1C+中应用程序编程52.1.1结构体,存放书籍及借书信息52.1.2页头函数,可以通过参数menu_item,显示当前状态52.1.1主要功能函数源代码62.2算法调试、测试过程中出现的问题及解决方案132.2.1本系统调试过程中遇到问题:132.2.2本系统调试过程中遇到问题的原因:142.2.3本系统调试过程中遇到问题的解决办法及步骤:14课程设计总结和体会15主要参考资料16摘要随着计算机技术的不断应用和提高,计算机已经深入到社会生活的各个角落。而中小型租、借书机构仍采用手工管理图书的方法,不仅效率低、易出错、手续繁琐,而且耗费大量的人力。为了满足其管理人员对图书馆书籍,读者资料,借还书等进行高效的管理,在工作人员具备一定的计算机操作能力的前提下,此图书管理系统软件力求提高其管理效率。本程序的编写是为了完善图书管理系统软件的开发途径和应用方法。以求在最短的时间高效的开发图书管理系统。程序实现了对图书的添加、删除、修改、查询等功能,对学生的添加、删除、修改、查询等功能,以及学生对图书的借阅、还书和所借图书的查看等功能。关键词:计算机技术,图书馆,图书管理,程序16简约高效 追求卓越1. 图书管理系统概述1.1图书管理系统总体设计思想概述该程序提供为读者提供借书、 还书和查询所需图书及图书、读者卡的管理等功能。该程序的功能模块有:(1)登录界面 只有管理员才能使用全部功能,更好的保护图书馆内的一些信息不被破坏。(2)读者资料 能实现对读者的显示、读者信息增加、读者查询、读者信息修改和读者信息删除功能。(3)图书资料 能实现对图书显示、图书信息增加、图书查询、图书信息修改和图书信息删除功能。(4)借书管理 可与数据库中的图书信息表连接实现借书的功能。(5)还书管理 可与数据库中的图书信息表连接实现还书的功能(6)退出 退出程序,结束运行。1.2总体设计流程图程序开始登录界面面还书管理借书管理读者资料图书资料 借书确定增修删查读者显示系统界面面增修删查图书显示程序结束 退出2. 图书管理系统详细设计2.1C+中应用程序编程2.1.1结构体,存放书籍及借书信息#include #include #include struct BOOK int id,usr10,total,store,days10; char name30,author20; books100;2.1.2页头函数,可以通过参数menu_item,显示当前状态void page_title(char *menu_item) printf( 以下是图 书 管 理 系 统-请 按 要 求 操 作 nn- %s -nn,menu_item); 初始界面,如图1:图12.1.1主要功能函数源代码返回前请求确认函数,方便返回前观察结果void return_confirm(void) printf(n任意键返回n); getch(); 数组中找到图书号匹配的记录int search_book(void) int n,i; printf(请输入图书序号:); scanf(%d,&i); for(n=0;n0) printf(请输入借书证序号:); scanf(%d,&s); printf(请输入可借天数:); scanf(%d,&d); for(l=0;l10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; booksn.store-; if(n!=-1&booksn.store=0) printf(此书已经全部借出.n); return_confirm(); 此过程是借书的函数,首先调用找书函数。如图2:图2图书资料中的还书函数void book_in(void) int n,s,l; page_title(&qu ot;还书); if(n=search_book()!=-1&booksn.storebooksn.total) printf(借阅者图书证列表:n); for(l=0;l10;l+) if (booksn.usrl!=0) printf(%d - %d天n,booksn.usrl,booksn.daysl); printf(请输入借书证序号:); scanf(%d,&s); for(l=0;l10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store+; if(n!=-1&booksn.store=booksn.total) printf(全部入藏.n); return_confirm(); 此过程是还书的函数,首先调用找书函数。如图3:图3图书资料中的注册书函数void book_add(void) int n; page_title(注册书); for(n=0;n100;n+) if(booksn.id=0) break; printf(序号:); scanf(%d,&booksn.id); printf(书名:); scanf(%s,&); printf(作者:); scanf(%s,&booksn.author); printf(数量:); scanf(%d,&booksn.total); booksn.store=booksn.total; return_confirm(); 此过程是注册书的函数,读者资料中的函数与图书资料中的函数基本一致。如图4:图4图书资料中的注销书的函数void book_del(void) int n; page_title(注销书); if(n=search_book()!=-1) booksn.id=0; printf(该书已注销.n); return_confirm(); 此过程是注销书的函数,读者资料中的函数与图书资料中的函数基本一致。如图5:图5返回主界面函数void main(void) menu: page_title(操作选择单子); printf(请按以上要求选择操作nn); printf(1 借书n2 还书nn); printf(3 注册书n4 注销书nn); printf(n0 退出n); switch(getch() case 1 : book_out();break; case 2 : book_in();break; case 3 : book_add();break; case 4 : book_del();break; case 0 : exit(0); goto menu; 此过程是控制退出界面选择的函数,与初始界面基本一致。如图6:图62.2算法调试、测试过程中出现的问题及解决方案2.2.1本系统调试过程中遇到问题:程序在储存图书信息时只能一次存入,并读取。再次添加新的程序时将会把原来添加的图书信息覆盖。运行完程序一次有错误提醒。程序运行到添加新图书时自动提示错误需要调试。 借书管理模块中,当正确输入存在的读者编号和所借的书的编号,系统进行判断时,提示不存在此读者。2.2.2本系统调试过程中遇到问题的原因:存储函数只能只写2进制文件,不能追加填写2进制文件。初次运行程序后没有关闭操作界面,当点击编译时会有一个错误提示,将上次运行时的界面关闭即可。指针指向的位置出现错误导致程序传参数错乱无法运行,可使程序进入调试状态在传参出现错误的位置一句一句查找传递的参数是否是你所希望的,如若不就加以修正。 2.2.3本系统调试过程中遇到问题的解决办法及步骤:一个一个输出所有的读者的编号,检查文件中是否有此读者。如果发现有此读者,那么,检查循环判断函数是否有此读者的语句,检查其是否存在错误。输出用于循环检查语句中的读者信息时,仔细检查该语句是否存在乱码。 若有乱码,仔细分析乱码的原因;若无乱码,再检查调用函数变量的类型是否有错误,若有,加以改正。课程设计总结和体会在此次图书管理课程设计过程中,有很多东西值得我们思考并总结。设计过程大体可分为以下几个步骤:(1)思考总体设计方案:总体结构和模块外部设计,功能分配。思考要实现整个程序大体需要的几个模块和其中用到的Visual C+语言基本操作符、语句等。(2)画出总体设计方案流程图:用流程图的形式展现你的基本编程思想。(3)流程图具体化:即将流程图中的几大模块的具体实现思考清楚,可以用流程图的形式展现并想好实现的关键代码。(4)编辑程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发现总体设计和模块思想会存在很多问题,需不断改进如何实现各函数功能,达到预期效果也将是一项繁复的工作。(5)代码的调试:在Visual C+6.0环境下输入代码并进行调试和正确运行。在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。通过对图书馆系统利用,我们对数据库和MFC编程有了更深刻的认识,深刻认识到需求分析的重要性,更加了解了一个系统各部门的工作流程细节。对概念设计的步骤掌握的更加清晰,促进了对分析过程中的原则要求及所得到的数据结果的原因认识。逻辑设计阶段中,由于整个系统数据复杂性和实际应用的交叉性,发现我们在理论和实际的操作中无论是关系模型设计还是vc+中功能的实现都有很多不足。针对此次大作业,我总结了一点点的经验,如下:(1) 要对系统的功能和要求做出详细的分析,并合理分解任务。(2) 把分解出来的子任务,并给其系统性的做一个相对独立的模块。(3)在设计一个模块之前,要简单构想一下总界面的显示情况。(4)针对构想出来的界面进行程序的编写。总之,通过此次课程设计,让我更加明白了主动学习是最好的方法。主动动手去做,广泛查阅资料,多次进行修改和完善,只有这样,才能有好的设计呈现出来。主要参考资料1 Beck Zaratian.Microsoft Visual Visual C+ 6.0程序员指南.希望设备创作室译.北京

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论