课程设计图书信息管理.doc

上传人:小飞机 文档编号:3950129 上传时间:2023-03-28 格式:DOC 页数:30 大小:312.50KB
返回 下载 相关 举报
课程设计图书信息管理.doc_第1页
第1页 / 共30页
课程设计图书信息管理.doc_第2页
第2页 / 共30页
课程设计图书信息管理.doc_第3页
第3页 / 共30页
课程设计图书信息管理.doc_第4页
第4页 / 共30页
课程设计图书信息管理.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《课程设计图书信息管理.doc》由会员分享,可在线阅读,更多相关《课程设计图书信息管理.doc(30页珍藏版)》请在三一办公上搜索。

1、课程设计图书信息管理 德州学院计算机系课程设计报告实习名称 C语言课程设计 _设计题目 图书信息管理系统 _实习时间 2012.3.5-2012.3.11 专业班级 2012级信息管理与信息系统_指导老师 教学单位(盖章) 小组分工情况:学号姓名分工二0一二年五月二十五日目录1 实习目的12 需求分析12.1 模块划分及功能12.2 题目分析23 概要设计23.1总体设计方案说明:23.2程序采用的结构:23.3 各个功能的函数:34.详细设计34.1主函数的算法设计34.2各子函数的算法设计44.2.1图书信息录入函数44.2.2图书信息浏览函数54.2.3图书信息的查询函数54.2.4图书

2、信息的删除函数64.2.5图书信息的修改函数75.调试与测试结果分析85.1图书信息录入95.2图书信息浏览105.3图书信息查询115.4 图书信息删除135.5图书信息修改145.6退出图书信息管理系统155.7上机调试感想156 总结15参考文献16学生信息管理系统的设计与实现1 实习目的课程设计是课程学习后的一个综合性实践教学环节,是对课程理论和课程实验的综合和补充。它主要培养综合运用已学过的理论和技能去分析和解决实际问题的能力,对加深课程理论的理解和应用、切实加强实践动手能力和创新能力具有重要意义。课程设计是我们必不可少的一个综合性理论实践环节。 为了融会贯通本课程所学专业理论知识,

3、完成一个较完整的程序设计与计算和程序调试过程,以加深对所学理论的理解与应用,进一步认识和熟悉C语言程序设计中的语句的应用和用途,了解解决实际问题的一般过程,培养综合运用基础理论知识和专业知识去解决实际应用设计问题的能力。通过综合性课程设计训练,达到以下的目的和要求:1、结合该课程中所学的C语言理论知识,设计一个综合的程序解决具体的实际问题,按要求独立完成设计方案,培养独立分析与解决问题的能力;2、学会查阅相关手册和资料,通过查阅手册和资料,进一步熟悉常用方法的用途和技巧,并掌握这些方法的具体含义和如何使用这些方法解决实际问题;3、掌握综合性程序设计的基本过程;4、掌握综合性程序开发的调试技术,

4、熟悉常用调试方法的使用;5、认真撰写总结报告,培养严谨的作风和科学的态度。2 需求分析2.1 模块划分及功能根据图书信息管理的需要,建立一个图书管理系统,可将程序分为以下几个模块:图书信息录入、图书信息浏览、图书信息查询、图书信息删除、图书信息修改、退出图书信息系统。应该实现的主要功能有:1 系统以菜单方式工作v2 图书信息录入功能输入v3 图书信息浏览功能输出v4 查询和排序功能算法v(1)按书名查询(2)按作者名查询5 图书信息的删除与修改2.2 题目分析根据题目的要求,应当把图书信息用结构形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后 ,吧图书信息送到文件中。在程序中需实

5、现图书信息录入、浏览、查询、删除和修改等功能的操作,所以需要建立相应的模块来实现,并且还需要提供选择菜单来实现功能,在运行时达到预定的目的。3 概要设计3.1总体设计方案说明:图书信息管理系统管理员的登录系统菜单选择图书信息录入图书信息浏览图书信息查询图书信息删除图书信息修改图1 程序功能图3.2程序采用的结构: typedef struct char number10; 定义登录号char name20; 定义书名char author20; 定义作者名char publish50; 定义出版单位char time20; 定义出版时间float price; 定义价格int count; 定

6、义书的本数3.3 各个功能的函数: void putin() 定义录入函数 void search_by_name() 定义按书名查询 void search_by_author() 定义按作者名查询 void search() 定义查询函数 void del() 定义删除函数 void update() 修改图书信息4.详细设计4.1主函数的算法设计首先运行程序,进入菜单,然后选择操作(运用swith语句),调用各子函数。在返回操作中运用while语句进行控制返回菜单。开始输入选择图书信息录入图书信息浏览图书信息查询图书信息删除图书信息修改退出图书信息系统结束图2 程序总体运行功能示意图4.

7、2各子函数的算法设计4.2.1图书信息录入函数程序运行后输入数字“1”,进行图书信息录入功能开始int1输入图书信息if函数输入图书信息结束是否 图3 图书信息录入函数示意图4.2.2图书信息浏览函数在主菜单进行操作,输入2进入图书信息浏览界面,图书信息进行显示,按任意键返回;4.2.3图书信息的查询函数void search()选择查询方式,1按书号查询,2按书名查询,然后定位,在调用输出函数;开始输入3int ii=1输入书名if函数输出图书查询信息结束是否是否图4 图书信息查询函数示意图4.2.4图书信息的删除函数在主菜单进行操作,输入4进入图书信息删除界面,图书信息提示输入要删除信息的

8、编号,按要求输入索要删除图书信息的编号,按回车键进行返回;图5 图书信息删除函数示意图开始输入4输出Please type in the number of the book you want to deleteint numberint iilibrary.count是否i+ilibrary.count-1是输出count found删除保存删除后的信息结束否4.2.5图书信息的修改函数在主界面进行操作,输入5进入图书信息修改界面,按显示信息的提示,输入要修改图书信息的编号,进行修改,继续按显示信息的提示依次修改,修改完成后按回车键返回,可输入2进入图书信息浏览进行检验;是否是开始输入4输出

9、Please type in the number of the book you want to deleteint numberint iilibrary.counti+ilibrary.count-1输出count found删除结束否 图6 图书信息修改函数示意图5.调试与测试结果分析在vc的环境下调试程序,进入菜单界面。(如图7所示)图7 菜单界面5.1图书信息录入从菜单界面输入“1”进入图书信息管理系统的主界面。(如图8、图9所示)图8 图书信息录入图9 录入图书信息5.2图书信息浏览输入”0”返回菜单主界面,再输入“2”进行图书信息浏览功能;(如图10、图11所示)图10 图书信

10、息浏览图11 浏览图书信息5.3图书信息查询按回车返回菜单界面并输入“3”进行图书信息查询功能;(如图12所示)图12 图书信息查询界面显示1通过姓名查询 2通过作者查询 3退出 (如图13、图14所示)图13按书名进行查询图14 按作者名进行查询如果输入信息不符将出现如下界面(如图15所示):图15 查询结果错误5.4 图书信息删除返回并输入4进行图书信息删除功能;(如图16、图17所示)图16 图书信息删除图17 显示删除后的信息5.5图书信息修改返回菜单界面并输“5”进行图书信息修改功能 ;(如图18所示)图18 图书信息修改返回并查询“图书信息浏览”(如图19所示)图19 图书信息浏览

11、5.6退出图书信息管理系统输入数字“0”退出图书信息管理系统5.7上机调试感想 在调试过程中出现了许多错误!特别是查询,修改和删除这三个函数的调试花了很多时间,主要是文件的写入与读出以及菜单调试的问题,还有建立新的链接也出现问题,说明自己对程序的执行过程理解不够深刻。6 总结 通过这次课程设计,使我们更加熟练的使用C语言进行编程,并且复习并巩固了以前学到的知识。编程能力也有提高,尤其是在使用函数、指针、数组、结构体、文件等方面有了很大进步,而且还学到了课本中没有的知识。只有经过实际操作,进行实际编程训练才能更好地发现问题,运用课本知识,在解决实际的问题中发现不足。在程序中的函数是实现模块化编程

12、的基础,它使程序变得方面易懂,对修改起了很大作用,降低了编程的难度。一个函数就是一个功能,它使各个功能之间有了一定的独立性,但也有了一定的联系性。在程序的调试过程中,也加深了对函数的理解,并更好的运用了函数。结构体的使用,为本程序提供了很大方便,也提高了程序的可读性,结构数组方便了对数据的管理。并且,在课程设计的过程中,也加深了我们的团队意识,同学间通过讨论,并运用所学的知识,为了我们共同的目的而努力,收获了很多。参考文献1 谢延红,王付山.C语言程序设计教程M.北京:国防工业出版社,2010.152-171.2 石柱,何新贵.优序法在软件评价中的应用J.计算机工程与设计,2002,23(2)

13、:45-46.3 杨路明.C语言程序设计(第2版)M.北京:邮电大学出版社,2005-12-01.4 谭浩强.C程序设计(第二版)M.清华大学出版社,1998.5 王新,孙雷C语言课程设计I清华大学出版社,2009-12-01.6 崔武子.C程序设计辅导与实训M.清华大学出版社,2004.附录#include#include#includetypedef struct char number10;/书号char name20;/书名char author20;/作者char publish50;/出版社char time20;/出版时间float price;mbook;typedef str

14、uct int count;/书的本数mbook book100;/最大可有100本书mlibrary;mlibrary library;void save()/保存图书信息。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);void putin() /*定义录入函数*/ int y=1;system(cls);w

15、hile(y) printf(t请输入您的书籍的书号:);scanf(%s,library.booklibrary.count.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.cou

16、nt.time);printf(t请输入该书的价格:);fflush(stdin);scanf(%f,&library.booklibrary.count.price);library.count+;printf(n是否继续录入(1.继续;0,退出录入):);fflush(stdin);scanf(%d,&y);if (y!=1)y=0;break; save();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.

17、2fn,library.booki.number,library.booki.name,library.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=

18、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); if (flag)printf(cannot found!);fflush(stdin);getchar();void search_by_author() /*定义

19、按作者名查询*/ 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,library.booki.number,library.booki.name,library.booki.author,library.booki.publis

20、h,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-search_by_writern); printf(ttt0-exitn); printf(tt*n) ; printf(tt请选择你想要的查询方式:);f

21、flush(stdin); scanf(%d,&a); switch(a) case 1:search_by_name();break; case 2:search_by_author();break;case 0:return;void del() /*定义删除函数*/ char number10;system(cls); /*清屏*/printf(n Please type in the number of the book you want to delete:);fflush(stdin);scanf(%s,number);int i;for (i=0;ilibrary.count;i

22、+)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.booki.publish,library.booki+1.publish);strcpy(library.booki.author,library.booki+1.author)

23、;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();void update()/修改图书信息char number10;system(cls); /*清屏*/printf(n Please type in the number of the book you want to delete:);fflush(stdin)

24、;scanf(%s,number);int i;for (i=0;ilibrary.count;i+) if(strcmp(number,library.booki.number)=0) printf(图书号t图书名t作者名t出版社t出版日期t图书价格n); 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); break; if (i!=lib

25、rary.count)mbook book;printf(ntt请输入修改后此图书的信息n);printf(t请输入图书号:);scanf(%s,book.number);printf(t请输入图书名:);scanf(%s,book.name);printf(t请输入作者名:);scanf(%s,book.author);printf(t请输入出版社:);scanf(%s,book.publish);printf(t请输入出版时间:);scanf(%s,book.time);printf(t请输入该书的价格:);fflush(stdin);scanf(%f,&book.price);strcp

26、y(library.booki.name,book.name);strcpy(library.booki.number,book.number);strcpy(library.booki.publish,book.publish);strcpy(library.booki.author,book.author);strcpy(library.booki.time,book.time);library.booki.price=book.price;save();elseprintf(n cannot found!n);fflush(stdin);getchar();void main()FILE

27、 *fp;if(fp=fopen(library.doc,r)=NULL)printf(n不能打开图书信息库n);fp=fopen(library.doc,w+);printf(n初始化图书信息库,初始化之后要重启程序n);library.count=0;fwrite(&library.count,sizeof(int),1,fp);fclose(fp);return;fread(&library.count,sizeof(int),1,fp);fread(library.book,sizeof(library.book0),library.count,fp);fclose(fp);int a

28、; do system(cls);printf(nnnnntttt图书信息管理系统ttttn);printf(tt*n);printf(ttt1 -图书信息录入n);printf(ttt2 -图书信息浏览n); printf(ttt3 -图书信息查询n);printf(ttt4 -图书信息删除n);printf(ttt5 -图书信息修改n);printf(ttt0 -退出图书信息系统n);printf(tt*n);printf(ttPlease Enter Choose: );fflush(stdin);scanf(%d,&a);switch(a)case 1:putin();break;case 2:lookup();break;case 3:search();break;case 4:del();break;case 5:update();break;case 0:printf(nn退出nn);break;default:printf(n序号不对n); while(a!=0); save();指导教师评语指导教师(签名) 成绩学号姓名成绩 指导教师或答辩小组成员(签名) 备注注:实习成绩由指导教师或答辩小组评定出成绩,分优秀、良好、中等、及格、不及格五级,分别给小组的每个成员打分。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号