您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > c语言实现图书管理系统实训报告
实训课程设计报告题目:图书信息管理系统学院:信息学院系别:电子系年级:2012级专业:电子信息科学与技术组长:**组员:******指导老师:***2014年1月1日1目录摘要................................................................................................-3-题目简介........................................................................................-2-小组分工情况:............................................................................-2-需求分析........................................................................................-3-1.编写目的..............................................................................-3-2.项目实施背景.....................................................................-3-3.业务流程图........................................................................-4-4.数据流程图........................................................................-5-5.系统运行环境.....................................................................-5-系统详细设计说明........................................................................-6-1总体简述................................................................................-6-2总体设计构想.......................................................................-6-3程序流程图...........................................................................-7-4编码实现过程.......................................................................-8-测试报告.....................................................................................-15-个人实训总结报告.....................................................................-22-个人实训总结报告——**...................................................-22-个人实训总结报告——***.................................................-23-个人实训总结报告——***.................................................-23-编程总结.....................................................................................-24-附:源代码...............................................................................-25-1摘要图书馆作为一种信息资源的集散地,在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息,图书和用户借阅资料繁多,包含很多的信息数据的管理。随着图书馆规模的不断扩大,图书数量也相应增加,若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下而且容易出错,造成人力与物力过多浪费,图书馆管理费用增加,影响整个图书馆运作和管理,也不方便读者对图书资料的查阅。因此,必须制定一套合理、有效、规范和使用的图书馆管理信息系统,对对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。-2-题目简介图书管理系统,本系统能具体化、合理化的管理图书馆中的图书信息、图书流通信息,用结构化的思维方式去了解图书馆的运做。本次实训,要求我们用C语言来完成一个简单的系统,实现一些简单的功能,我们组在讨论之后,决定使用老师给的参考题目——图书管理系统,因为我们对这个流程比较熟悉,并且更清楚使用者的需求,我们将在这个方面发挥得更好。由于时间以及我们所掌握的知识有限,我们决定只实现由管理员登陆来管理图书信息功能的系统,包括新书信息的录入,浏览,查询,修改和删除的功能,同时,在第一界面处,有管理员身份认证,防止信息被恶意篡改或删除。小组分工情况:姓名学号分工**2012080321082编程及测试***2012080321081需求分析、测试、后期文档完成***2012080321064系统设计、辅助编程、测试-3-需求分析1.编写目的对于有一定规模的图书馆来说,存书数量大,存书的标识信息更大,而且图书馆也需要对读者及其管理员的信息作记录,以及读者借阅,归还图书的情况,这些汇总起来信息量非常大,如果采用手工管理,效率低,易出错,统计工作量大。鉴于这种情况,一个操作方便,简单实用的图书信息管理系统的开发就成为必要。2.项目实施背景出于我们的学术水平的限制,我们不可能完成功能全面,实用性强的系统程序,在短期内就更不用说了,所以我们的编程定位是实现一些最基础的的功能。主要是实现对图书馆中各种信息的管理,使得图书信息存储及时,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书馆管理的效率,也是图书馆正规化管理的重要途径,故设计此系统。-4-3.业务流程图购到书录入书查询书修改书删除书书发生变化,例如借出,丢失,损坏借出或查看库存时-5-4.数据流程图5.系统运行环境系统可以在MicrosoftVisualC++6.0软件运行,硬件基本无要求,现在的计算机基本可以运行该系统。购进新书(手工编号)录入信息数据库删除信息图书管理员修改查询-6-系统详细设计说明1总体简述根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。2总体设计构想根据题目要求,将系统分为两个主界面:1、管理员身份认证界面该,界面包含三个内容①管理员编号②登录密码③验证码输入2、主菜单界面该界面包括六个主要模块①菜单选择模块②图书信息录入功能模块③图书信息浏览功能-7-④图书信息查询功能⑤图书信息的删除和修改⑥退出3程序流程图登陆主界面编号密码验证码主菜单1.信息录入5.信息删除4.信息修改2.信息浏览3.信息查询6.退出系统1.Searchbyname2.Searchbywriter1.书号.2.书名.3.作者名.4.出版社.5.出版时间.6.图书价格-8-4编码实现过程该程序设计遵循程序设计的模块化原则,主体部分由每个自编功能函数块完成,现将设计部分详解。(1)Myprintf函数,实现布局界面功能voidmyprintf(intn){inti=0;for(i=0;i=n;i++)printf(%c,2);}(2)mm函数,实现密码及验证码功能voidmm(intn,int*q){inty,k,m,r=0,h[4];for(k=0;k4;k++){h[k]=rand()%10;r=r+h[k];}printf(输入密码:);scanf(%d,&m);printf(%c%c,14,14);printf(计算下式的值作为验证码输入:\n);printf(%c%c,14,14);printf(%d+%d+%d+%d=?\n,h[0],h[1],h[2],h[3]);printf(%c%c?=,14,14);scanf(%d,&y);if(y==r){if(n==m)*q=0;else*q=1;-9-}else{printf(验证码输入错误\n);*q=1;}}(3)save函数,实现保存信息功能voidsave()//保存图书信息。{FILE*fp;if((fp=fopen(library.doc,w))==NULL){printf(\n不能保存图书信息\n);return;}fwrite(&library.count,sizeof(int),1,fp);fwrite(library.book,sizeof(library.book[0]),library.count,fp);}(4)putin函数,实现录入功能voidputin()/*定义录入函数*/{inty=1;system(cls);while(y){printf(\t请输入您的书籍的书号:);scanf(%s,library.book[library.count].number);printf(\t请输入书名:);scanf(%s,library.book[library.count].name);printf(\t请输入作者名:);scanf(%s,library.book[library.count].author);printf(\t请输入出版社:);scanf(%s,library.book[library.count].publish);printf(\t请输入出版时间:);scanf(%s,library.book[library.count].time);printf(\t请输入该书的价格:);fflush(stdin);scanf(%f,&library.book[library.count].price);library.count++;printf(\n是否继续录入(1.继续;0,退出录入):);-10-fflush(stdin);scanf(%d,&y);if(y!=1){y=0;break;}}save();}(5)lookup函数,实现查找功能voidlookup(){system(cls);printf(图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n);for(inti=0;ilibrary.count;i++){printf(%s\t%s\t%s\t%s\t%s\t%6.2f\n,library.book[i].number,library.book[i].name,library.book[i].author,library.book[i].publish,library.book[i].time,library.book[i].price);}fflush(stdin);getchar();}voidsearch_by_name()/*
本文标题:c语言实现图书管理系统实训报告
链接地址:https://www.777doc.com/doc-7028606 .html