C语言课程信息管理系统课设报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》
课程设计报告
专业:
班级:
姓名:
指导教师:
二零一二年十二月二十六日
目录
一、设计题目 (2)
二、设计目的 (2)
三、设计内容 (2)
3.1需求分析 (2)
3.2 概要设计 (3)
3.3 详细设计 (6)
3.5 编写过程中遇到的问题及解决办法 (7)
3.4 调试结果 (8)
3.6课程设计总结 (16)
四、参考书目 (17)
附录A 程序源代码 (18)
一、设计题目:课程信息管理系统
二、设计目的
1、熟练掌握C语言课程中所学的理论知识;
2、通过综合C语言的基本知识来解决实际问题;
3、加强分析和解决问题的能力。
三、设计内容
3.1 需求分析
设计对n门课程进行管理的课程信息管理系统,每门课程有课程编号,课程名称,课程性质(B为必修,X为选修),总学时,学分等。系统功能包括:
1、系统以菜单方式工作,密码登陆。
2、课程信息的录入功能(增加数据)。用数组数据类型赋初值的方法把课程信息送到各个数组中(但注意要是合法数据),然后把它们输出显示。
3、课程信息的删除(删除数据)。任意输入一门课程的编号,将它所有的信息从数组中删除。
4、课程信息的浏览功能(查找数据)。任意输入一门课程的编号,打印出所有相关数据。要求能多次查找。
5、课程信息的删除(修改数据)。任意输入一门课程的编号,打印出所有相关信息后,可对某一项信息进行修改并保存。
6、课程信息的计算并排序。计算所有课程的总学分及平均学分(aver,单精度,输出一位小数),将包括所有数据的数组元素按价格从高到低的顺序排序打印出来。
3.2 概要设计程序流程图:
模块分解:
void pasd(); //声明密码函数
声明部分
(1)主函数模块void zhujie(); //声明zhujie()函数
zhujie(); //调用zhujie()函数
调用部分
pasd(); //调用密码函数
联系
//声明业务函数
(
调用部分:yewu(); //调用业务函数
联系
//声明输入函数
//声明修改函数
//声明添加函数
//声明查询函数
//声明排序函数
//声明删除函数
调用课程信息查询
//调用课程信息删除
调用课程信息修改
case '4':ordercouinfo();break; //调用课程信息排序
case '5':addcouinfo(); break; //调用课程信息添加
数据结构的说明:
#define n1 20 //控制课程个数的存储空间
#define m1 5 //控制课程属性个数的存储空间空间char couinfo[n1][m1][16]; //定义全局数组
char password[]={"123456"}; //原密码
int a, i,j,t=0,c=0,n=4,m=5; //定义全局变量
密码模块:
char p[9]; //定义密码数组
p[i]==8 //控制退格
p[i]==13 //回车控制
strcmp(p,password)==0 //密码匹配字符串比较函数int n=3; //密码输入次数控制
业务模块:
system("cls"); //清屏函数
3.3 详细设计
密码模块:
5M 变更管理办法
注释
删除模块:
注释
3.4 编写过程中遇到的问题及解决办法
(1)在调试函数的过程时,一般高级语言要求函数实参与形参个数与类型一致,但在C语言编译在该点检查不严格。当出现实参与形参类型不一致时,编译运行时,系统不报错。因此,错误隐含了下来,给程序调试带来了困难。
解决方法是:一开始,我自己仔细查找自己的程序的错误,但最终在老师的帮助下,找到了程序的错误。并将其改正,使程序正常运行。
(2)当要求从键盘读入一字符串时,若选用输入的函数不当时,则容易造成错误,并很难发现。解决方法:自己认真并且反复检查以及老师的帮助。
3.5 调试结果
界面
3.6 课程设计总结
课程管理信息系统心得
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻
炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。
我做的是课程管理信息系统,虽然是很简单的一个小的程序,但对我一个初学者来说却是一个很大的困难。更加是第一次做这样的课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。特别是函数调用和数组的部分,几乎是一片空白。不过经过几天的努力,大体上把课本上的知识点看了一遍,知识点也都基本是撑握了,所以下一步就是开始正式的编程序了。不过毕竟是个新手,还是不知如何下手,于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了C语言编程的基本过程和方法。经过一波三折,终于开始正式编程。