c语言实现图书管理系统实训课程设计报告(26页).docx
《c语言实现图书管理系统实训课程设计报告(26页).docx》由会员分享,可在线阅读,更多相关《c语言实现图书管理系统实训课程设计报告(26页).docx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-c语言实现图书管理系统实训课程设计报告-第 - 24 - 页实训课程设计报告题目:图书信息管理系统学院:信息学院 系别:电子系年级:2012级 专业:电子信息科学与技术组长:* 组员:*指导老师:* 2014年1月1日目录摘要-1 -题目简介- 2 -小组分工情况:- 2 -需求分析- 3 -1. 编写目的- 3 -2. 项目实施背景- 3 -3业务流程图- 4 -4数据流程图- 5 -5. 系统运行环境- 5 -系统详细设计说明- 6 -1总体简述- 6 -2总体设计构想- 6 -3程序流程图- 7 -4编码实现过程- 8 -测试报告- 15 -个人实训总结报告- 22 -个人实训总结报告
2、*- 22 -个人实训总结报告*- 23 -个人实训总结报告*- 23 -编程总结- 24 -附 :源代码- 25 -摘要图书馆作为一种信息资源的集散地,在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息,图书和用户借阅资料繁多,包含很多的信息数据的管理。随着图书馆规模的不断扩大,图书数量也相应增加,若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下而且容易出错,造成人力与物力过多浪费,图书馆管理费用增加,影响整个图书馆运作和管理,也不方便读者对图书资料的查阅。因此,必须制定一套合理、有效、规范和使用的图书馆管理信息
3、系统,对对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。题目简介图书管理系统,本系统能具体化、合理化的管理图书馆中的图书信息、图书流通信息,用结构化的思维方式去了解图书馆的运做。本次实训,要求我们用C语言来完成一个简单的系统,实现一些简单的功能,我们组在讨论之后,决定使用老师给的参考题目图书管理系统,因为我们对这个流程比较熟悉,并且更清楚使用者的需求,我们将在这个方面发挥得更好。由于时间以及我们所掌握的知识有限,我们决定只实现由管理员登陆来管理图书信息功能的系统,包括新书信息的录入,浏览,查询,修改和删除的功能,同时,在第一界面处,有管理员
4、身份认证,防止信息被恶意篡改或删除。小组分工情况:姓名学号分工*2012080321082编程及测试*2012080321081需求分析、测试、后期文档完成*2012080321064系统设计、辅助编程、测试需求分析 1. 编写目的 对于有一定规模的图书馆来说,存书数量大,存书的标识信息更大,而且图书馆也需要对读者及其管理员的信息作记录,以及读者借阅,归还图书的情况,这些汇总起来信息量非常大,如果采用手工管理,效率低,易出错,统计工作量大。鉴于这种情况,一个操作方便,简单实用的图书信息管理系统的开发就成为必要。 2. 项目实施背景 出于我们的学术水平的限制,我们不可能完成功能全面,实用性强的系
5、统程序,在短期内就更不用说了,所以我们的编程定位是实现一些最基础的的功能。主要是实现对图书馆中各种信息的管理,使得图书信息存储及时,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书馆管理的效率,也是图书馆正规化管理的重要途径,故设计此系统。 3业务流程图购到书录入书查询书修改书删除书书发生变化,例如借出,丢失,损坏借出或查看库存时4数据流程图购进新书(手工编号)录入信息数据库删除信息图书管理员修改查询5. 系统运行环境 系统可以在MicrosoftVisualC+6.0软件运行,硬件基本无要求,现在的计算机基本可以运行该系统。系统详细设计说明1总体
6、简述根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。2总体设计构想根据题目要求,将系统分为两个主界面:1、管理员身份认证界面该,界面包含三个内容 管理员编号 登录密码 验证码输入2、主菜单界面该界面包括六个主要模块菜单选择模块图书信息录入功能模块图书信息浏览功能图书信息查询功能图书信息的删除和修改 退出3程序流程图登陆主界面编号
7、密码验证码主菜单1.信息录入5.信息删除4.信息修改2.信息浏览3.信息查询6.退出系统1. Search by name2. Search by writer1. 书号. 2.书名. 3.作者名.4.出版社. 5.出版时间. 6.图书价格4编码实现过程该程序设计遵循程序设计的模块化原则,主体部分由每个自编功能函数块完成,现将设计部分详解。(1)Myprintf函数,实现布局界面功能void myprintf(int n)int i=0; for(i=0;i=n;i+) printf( %c,2);(2)mm函数,实现密码及验证码功能void mm(int n,int *q) int y, k
8、, m,r=0,h4;for(k=0;k4;k+)hk=rand()%10; r=r+hk;printf( 输入密码:);scanf(%d,&m);printf( %c %c,14,14); printf( 计算下式的值作为验证码输入:n);printf( %c %c,14,14);printf( %d+%d+%d+%d=?n,h0,h1,h2,h3);printf( %c %c ?=,14,14);scanf(%d,&y);if(y=r) if(n=m)*q=0; else*q=1;else printf(验证码输入错误n); *q=1;(3)save函数,实现保存信息功能void save
9、()/保存图书信息。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.book0),library.count,fp);(4)putin函数,实现录入功能void putin() /*定义录入函数*/int y=1;system(cls);while(y)printf(t请输入您的书籍的书号:);scanf(%s,library.booklibrary.count
10、.number);printf(t请输入书名:);scanf(%s,library.booklibrary.count.name);printf(t请输入作者名:);scanf(%s,library.booklibrary.count.author);printf(t请输入出版社:);scanf(%s,library.booklibrary.count.publish);printf(t请输入出版时间:);scanf(%s,library.booklibrary.count.time);printf(t请输入该书的价格:);fflush(stdin);scanf(%f,&library.boo
11、klibrary.count.price);library.count+;printf(n是否继续录入(1.继续;0,退出录入):);fflush(stdin);scanf(%d,&y);if (y!=1)y=0;break; save();(5)lookup函数,实现查找功能void lookup()system(cls);printf(图书号t图书名t作者名t出版社t出版日期t图书价格n);for (int i=0;ilibrary.count;i+)printf(%st%st%st%st%st%6.2fn,library.booki.number,library.booki.name,l
12、ibrary.booki.author,library.booki.publish,library.booki.time,library.booki.price);fflush(stdin);getchar();void search_by_name() /*定义按书名查询*/char s220; int flag=1;printf(n请输入要查询的书名: );fflush(stdin);scanf(%s,s2);printf(图书号t图书名t作者名t出版社t出版日期t图书价格n);for(int i=0;ilibrary.count;i+ )if(strcmp(s2,library.book
13、i.name)=0)flag=0;printf(%st%st%st%st%st%6.2fn,library.booki.number,library.booki.name,library.booki.author,library.booki.publish,library.booki.time,library.booki.price);if (flag)printf(cannot found!);fflush(stdin);getchar();(6)实现查找功能的函数void search_by_name() /*定义按书名查询*/char s220; int flag=1;printf(n请
14、输入要查询的书名: );fflush(stdin);scanf(%s,s2);printf(图书号t图书名t作者名t出版社t出版日期t图书价格n);for(int i=0;ilibrary.count;i+ )if(strcmp(s2,library.booki.name)=0)flag=0;printf(%st%st%st%st%st%6.2fn,library.booki.number,library.booki.name,library.booki.author,library.booki.publish,library.booki.time,library.booki.price);i
15、f (flag)printf(cannot found!);fflush(stdin);getchar();void search_by_author() /*定义按作者名查询*/char s320;int flag=1;printf(请输入要查询的书的作者: );fflush(stdin);scanf(%s,s3);printf(图书号t图书名t作者名t出版社t出版日期t图书价格n);for(int i=0;ilibrary.count;i+ )if(strcmp(s3,library.booki.author)=0)flag=0;printf(%st%st%st%st%st%6.2fn,l
16、ibrary.booki.number,library.booki.name,library.booki.author,library.booki.publish,library.booki.time,library.booki.price);if (flag)printf(cannot found!);fflush(stdin);getchar();void search() /*定义查询函数*/int a;system(cls); /*进行清屏*/ printf(tt*n);printf(开始查询n); printf(ttt1-search_by_namen); printf(ttt2-s
17、earch_by_writern); printf(ttt0-exitn); printf(tt*n) ; printf(tt请选择你想要的查询方式:);fflush(stdin); scanf(%d,&a); switch(a)case 1:search_by_name();break; case 2:search_by_author();break;case 0:return;(7)del函数,实现删除功能void del() /*定义删除函数*/char number10;system(cls); /*清屏*/printf(n Please type in the number of t
18、he book you want to delete:);fflush(stdin);scanf(%s,number);int i;for (i=0;ilibrary.count;i+)if(strcmp(number,library.booki.number)=0)break;if (i!=library.count)for(;ilibrary.count-1;i+)strcpy(library.booki.name,library.booki+1.name);strcpy(library.booki.number,library.booki+1.number);strcpy(library
19、.booki.publish,library.booki+1.publish);strcpy(library.booki.author,library.booki+1.author);strcpy(library.booki.time,library.booki+1.time);library.booki.price=library.booki+1.price;library.count-;elseprintf(n cannot found!n);save();fflush(stdin);getchar();(8)update函数,实现修改信息的功能void update()/修改图书信息ch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实现 图书 管理 系统 课程设计 报告 26
限制150内