已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
德州学院 信息管理学院 2012级 信息管理与信息系统 课程设计 德州学院计算机系课程设计报告实习名称 C语言课程设计 _设计题目 图书信息管理系统 _实习时间 2012.3.5-2012.3.11 专业班级 2012级信息管理与信息系统_指导老师 教学单位(盖章) 小组分工情况:学号姓名分工二0一二年五月二十五日 - 1 -目录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图书信息的删除函数64.2.5图书信息的修改函数75.调试与测试结果分析85.1图书信息录入95.2图书信息浏览105.3图书信息查询115.4 图书信息删除135.5图书信息修改145.6退出图书信息管理系统155.7上机调试感想156 总结15参考文献16学生信息管理系统的设计与实现1 实习目的课程设计是课程学习后的一个综合性实践教学环节,是对课程理论和课程实验的综合和补充。它主要培养综合运用已学过的理论和技能去分析和解决实际问题的能力,对加深课程理论的理解和应用、切实加强实践动手能力和创新能力具有重要意义。课程设计是我们必不可少的一个综合性理论实践环节。 为了融会贯通本课程所学专业理论知识,完成一个较完整的程序设计与计算和程序调试过程,以加深对所学理论的理解与应用,进一步认识和熟悉C语言程序设计中的语句的应用和用途,了解解决实际问题的一般过程,培养综合运用基础理论知识和专业知识去解决实际应用设计问题的能力。通过综合性课程设计训练,达到以下的目的和要求:1、结合该课程中所学的C语言理论知识,设计一个综合的程序解决具体的实际问题,按要求独立完成设计方案,培养独立分析与解决问题的能力;2、学会查阅相关手册和资料,通过查阅手册和资料,进一步熟悉常用方法的用途和技巧,并掌握这些方法的具体含义和如何使用这些方法解决实际问题;3、掌握综合性程序设计的基本过程;4、掌握综合性程序开发的调试技术,熟悉常用调试方法的使用;5、认真撰写总结报告,培养严谨的作风和科学的态度。2 需求分析2.1 模块划分及功能根据图书信息管理的需要,建立一个图书管理系统,可将程序分为以下几个模块:图书信息录入、图书信息浏览、图书信息查询、图书信息删除、图书信息修改、退出图书信息系统。应该实现的主要功能有:1 系统以菜单方式工作v2 图书信息录入功能输入v3 图书信息浏览功能输出v4 查询和排序功能算法v(1)按书名查询(2)按作者名查询5 图书信息的删除与修改2.2 题目分析根据题目的要求,应当把图书信息用结构形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后 ,吧图书信息送到文件中。在程序中需实现图书信息录入、浏览、查询、删除和修改等功能的操作,所以需要建立相应的模块来实现,并且还需要提供选择菜单来实现功能,在运行时达到预定的目的。3 概要设计3.1总体设计方案说明:图书信息管理系统管理员的登录系统菜单选择图书信息录入图书信息浏览图书信息查询图书信息删除图书信息修改图1 程序功能图3.2程序采用的结构: typedef struct char number10; 定义登录号char name20; 定义书名char author20; 定义作者名char publish50; 定义出版单位char time20; 定义出版时间float price; 定义价格int count; 定义书的本数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.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进入图书信息删除界面,图书信息提示输入要删除信息的编号,按要求输入索要删除图书信息的编号,按回车键进行返回;图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输出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 图书信息浏览图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 图书信息浏览5.6退出图书信息管理系统输入数字“0”退出图书信息管理系统5.7上机调试感想 在调试过程中出现了许多错误!特别是查询,修改和删除这三个函数的调试花了很多时间,主要是文件的写入与读出以及菜单调试的问题,还有建立新的链接也出现问题,说明自己对程序的执行过程理解不够深刻。6 总结 通过这次课程设计,使我们更加熟练的使用C语言进行编程,并且复习并巩固了以前学到的知识。编程能力也有提高,尤其是在使用函数、指针、数组、结构体、文件等方面有了很大进步,而且还学到了课本中没有的知识。只有经过实际操作,进行实际编程训练才能更好地发现问题,运用课本知识,在解决实际的问题中发现不足。在程序中的函数是实现模块化编程的基础,它使程序变得方面易懂,对修改起了很大作用,降低了编程的难度。一个函数就是一个功能,它使各个功能之间有了一定的独立性,但也有了一定的联系性。在程序的调试过程中,也加深了对函数的理解,并更好的运用了函数。结构体的使用,为本程序提供了很大方便,也提高了程序的可读性,结构数组方便了对数据的管理。并且,在课程设计的过程中,也加深了我们的团队意识,同学间通过讨论,并运用所学的知识,为了我们共同的目的而努力,收获了很多。参考文献1 谢延红,王付山.C语言程序设计教程M.北京:国防工业出版社,2010.152-171.2 石柱,何新贵.优序法在软件评价中的应用J.计算机工程与设计,2002,23(2):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 struct 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);while(y) printf(t请输入您的书籍的书号:);scanf(%s,library.booklibrary.count.number);printf(t请输入书名:);scanf(%s,);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.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.2fn,library.booki.number,,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=0;ilibrary.count;i+ )if(strcmp(s2,)=0) flag=0;printf(%st%st%st%st%st%6.2fn,library.booki.number,,library.booki.author,library.booki.publish,library.booki.time,library.booki.price); if (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,library.booki.number,,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-search_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;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+)if(strcmp(number,library.booki.number)=0)break;if (i!=library.count)for(;ilibrary.count-1;i+)strcpy(,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);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);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.author,library.booki.publish,library.booki.time,library.booki.price); break; if (i!=library.count)mbook book;printf(ntt请输入修改后此图书的信息n);printf(t请输入图书号:);scanf(%s,book.number);printf(t请输入图书名:);scanf(%s,);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);strcpy(,);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();v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业工伤事故处理办法
- 医疗机构设备资产管理试行办法
- 机场建设转让合同协议
- 2024年式商用冷柜采购合同书
- 建筑施工塔吊租赁合同
- 保险企业股权融资途径
- 环境污染纠纷公证调解
- 纺织品退货流程管理办法
- 教育研究合同履行准则
- 供应链优化采购策略
- 正余弦定理知识点权威总结18页
- 国企纪检监察嵌入式监督的探索与实践
- 浅议小升初数学教学衔接
- 设备安装应急救援预案
- 深基坑工程降水技术及现阶段发展
- 暂堵压裂技术服务方案
- 《孔乙己》公开课一等奖PPT优秀课件
- 美的中央空调故障代码H系列家庭中央空调(第一部分多联机)
- 业主委员会成立流程图
- (完整版)全usedtodo,beusedtodoing,beusedtodo辨析练习(带答案)
- 广联达办公大厦工程施工组织设计
评论
0/150
提交评论