1、C语言课程信息管理系统课程设计报告 This model paper was revised by the Standardization Office on December 10, 2020C语言课程信息管理系统课程设计报告成绩C语言程序设计 课程设计报告专 业:班 级:姓 名:指导教师:二零一二年十二月 二十六日一、设计题目2二、设计目的2三、设计内容2需求分析2 概要设计3 详细设计6 编写过程中遇到的问题及解决办法7 调试结果8课程设计总结16四、参考书目17附录A 程序源代码18一、设计题目:课程信息管理系统二、设计目的 1、熟练掌握C语言课程中所学的理论知识; 2、通过综合C语言
2、的基本知识来解决实际问题; 3、加强分析和解决问题的能力。三、设计内容 需求分析设计对n门课程进行管理的课程信息管理系统,每门课程有课程编号,课程名称,课程性质(B为必修,X为选修),总学时,学分等。系统功能包括:1、系统以菜单方式工作,密码登陆。2、课程信息的录入功能(增加数据)。用数组数据类型赋初值的方法把课程信息送到各个数组中(但注意要是合法数据),然后把它们输出显示。3、课程信息的删除(删除数据)。任意输入一门课程的编号,将它所有的信息从数组中删除。4、课程信息的浏览功能(查找数据)。任意输入一门课程的编号,打印出所有 相关数据。要求能多次查找。5、课程信息的删除(修改数据)。任意输入
3、一门课程的编号,打印出所有相关信息后,可对某一项信息进行修改并保存。6、课程信息的计算并排序。计算所有课程的总学分及平均学分(aver,单精度,输出一位小数),将包括所有数据的数组元素按价格从高到低的顺序排序打印出来。 概要设计程序流程图:模块分解: void pasd(); 着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。 回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可
4、以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。我做的是课程管理信息系统,虽然是很简单的一个小的程序,
5、但对我一个初学者来说却是一个很大的困难。更加是第一次做这样的课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。特别是函数调用和数组的部分,几乎是一片空白。不过经过几天的努力,大体上把课本上的知识点看了一遍,知识点也都基本是撑握了,所以下一步就是开始正式的编程序了。不过毕竟是个新手,还是不知如何下手,于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了C语言编程的基本过程和方法。 经过一波三折,终于开始正
6、式编程。编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强迫自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函
7、数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!四.参考书目:1谭浩强,C程序设计教程,北京,清华大学出版社,2007年2康莉,零基础学C语
8、言,北京,机械工业出版社,2010年3方风波,C语言程序设计,北京,地质出版社,2006年附录A 源程序代码#include #include /Console Input/Output(控制台输入输出)#include #define n1 20 /控制课程个数的存储空间#define m1 5 /控制课程属性个数的存储空间空间char couinfon1m116; /定义全局数组char d16, b6;char password=123456; /原密码int a, i,j,t=0,c=0,n=4,m=5; /定义全局变量/主函数模块 void main() void pasd(); /
9、声明密码函数 void zhujie(); /声明zhujie()函数 zhujie(); /调用zhujie()函数 pasd(); /调用密码函数void zhujie() printf(n); printf(*n); printf(* * * * *n); printf(* * * *欢迎进入课程管理信息系统* * * * *n); printf(* * * * *n); printf(*Welcome to the course information management system*n); printf(*n); printf(*n); printf(* *n); printf(
10、* *n); printf(* * * *n); printf(* * 添加课程信息 * * 删除课程信息 * *n); printf(* * * *n); printf(* *n); printf(* *n); printf(*n); printf(* *n); printf(* *n); printf(* * * *n); printf(* * 查询课程信息 * * 修改课程信息 * *n); printf(* * * *n); printf(*n); printf(n);/密码模块void pasd(void) /定义密码函数 void yewu(); /声明业务函数 int i; ch
11、ar p9; int n=3; /密码输入次数控制 do printf(please enter password:n); /输入密码 for(i=0;i0);/业务模块 void yewu() /定义业务函数 void inputcouinfo(void); /声明输入函数 void addcouinfo(void); /声明添加函数 void findcouinfo(void); /声明查询函数 void ordercouinfo(void); /声明排序函数 void delcouinfo(void); /声明删除函数 void updatecouinfo(void); /声明修改函数
12、char d; system(cls); if (c=1) inputcouinfo(); /调用输入函数 printf(t课程信息查询请输入: 1 nt课程信息删除请输入: 2 nt课程信息修改请输入: 3 nt课程信息排序请输入: 4 nt课程信息添加请输入:5n); printf(您是否进行其他操作,否输入0,否则输入其他:); scanf(%d,&a); for (i=0;i+) if(a!=0) printf(请输入要操作的选项:); scanf(%s,&d); switch(d) case 1:findcouinfo();break; /调用课程信息查询函数 case 2:delc
13、ouinfo();break; /调用课程信息删除函数 case 3:updatecouinfo();break; /调用课程信息修改函数 case 4:ordercouinfo();break; /调用课程信息排序函数 case 5:addcouinfo(); break; /调用课程信息添加函数 default: break; /课程信息输入模块void inputcouinfo(void) /定义课程信息输入函数 int x=1; printf(ttt *n); printf(ttt 欢迎进入信息输入系统!n); printf(ttt *n); printf(请注意:性质为必修(B)或选
14、修(X)n); printf(tt课程号 名称 性质 总学时 学分n); for (i=0;in;i+) printf(输入课程编号%d:,x+); for (j=0;jm;j+) scanf(%s,&couinfoij); printf(课程号 名称 性质 总学时 学分n); for (i=0;in;i+) for (j=0;jm;j+) printf(%st,couinfoij); printf(n); void addcouinfo(void) /课程信息添加函数 int d,t,z; printf(ttt*n); printf(ttt欢迎进入信息添加系统!n); printf(ttt*
15、n); for(d=1;d+) printf(n是否进行添加,“否” 请输入0,进行输入其他n); scanf(%d,&t); if(t!=0) printf(请输入要添加的第%d个课程信息:n,d); printf(课程号 名称 性质 总学时 学分n); z=n+; for (j=0;jm;j+) scanf(%s,&couinfozj); printf(%st,couinfozj); else break; system(cls); printf(t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入: 3 nt课程排序请输入: 4 nt课程添加请输入:5n); void f
16、indcouinfo(void) /课程信息查询函数 char y16; int d,t,z; printf(ttt*n); printf(ttt欢迎进入信息查询系统!n); printf(ttt*n); for(d=1;d+) printf(n是否进行查询,“否” 请输入0n); scanf(%d,&t); if(t!=0) printf(请输入要查询的课程号:); scanf(%s,&y); printf(课程号 名称 性质 总学时 学分n); for(i=0;z=i,in1;i+) if(strcmp(y,couinfoi0)=0) for (j=0;jm;j+) printf(%st,
17、couinfoij); break; if(z=n) printf(没有此课程号信息n); else break ; system(cls); printf(t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入: 3 nt课程排序请输入: 4 nt课程添加请输入:5n);void delcouinfo(void) /课程信息删除函数 char y16; char y116; int d,x,z; printf(ttt*n); printf(ttt欢迎进入信息删除系统!n); printf(ttt*n); for(d=1;d+) printf(是否进行删除信息,否请输入: 0 进
18、行输入其他数字:n); scanf(%d,&x); if(x!=0) printf(请输入要删除的课程号:); scanf(%s,&y); printf(请再次输入要删除的课程号:); scanf(%s,&y1); printf(课程号 名称 性质 总学时 学分n); if (strcmp(y,y1)=0) for (i=0;in;i+) if (strcmp(y,couinfoi0)=0) z=i; printf(要删除的课程信息是n); for (j=0;jm;j+) printf(%st,couinfoij); t+; printf(n); for (i=z;in-t;i+) for (
19、j=0;jm;j+) strcpy(couinfoij,couinfoi+1j); if(z=n) printf(没有此课程号信息n); else break; printf(课程号 名称 性质 总学时 学分n); for (i=0;in-t;i+) for (j=0;jm;j+) printf(%st,couinfoij); printf(n); system(cls); printf(t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入: 3 nt课程排序请输入: 4 nt课程添加请输入:5n);/课程修改函数void updatecouinfo(void) char h1
20、6,h116,h216; int d,b,x,z,e,f; printf(ttt*n); printf(ttt欢迎进入信息修改系统!n); printf(ttt*n); for(d=1;d+) printf(是否进行信息修改,否请输入: 0 进行输入其他数字:n); scanf(%d,&x); if(x!=0) printf(请输入要修改的课程号:); scanf(%s,&h); printf(请再次输入要修改的课程号:); scanf(%s,&h1); if (strcmp(h,h1)=0) for(i=0;z=i,in;i+) if (strcmp(h,couinfoi0)=0) prin
21、tf(要修改的课程信息是n); for (j=0;jm;j+) printf(%st,couinfoij); printf(n请输入你要修改第几项n);scanf(%d,&b); printf(请输入你要修改的内容n);scanf(%s,&h2); strcpy(couinfoib-1,h2); for(e=0;e+) printf(您是否进行其他修改,否请输入 0,否则输入其他:); scanf(%d,&f); if(f!=0) printf(n请输入你要修改第几项n);scanf(%d,&b); printf(请输入你要修改的内容n);scanf(%s,&h2); else break;
22、strcpy(couinfoib-1,h2); for(j=0;jm;j+) printf(%st,couinfoij); printf(n); break; if(z=n-t) printf(没有此课程号信息n); else break; system(cls); printf(t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入: 3 nt课程排序请输入: 4 nt课程添加请输入:5n);/排序模块void ordercouinfo(void) /按学分排序 int fm1; int x,z,max; float s=0; printf(ttt*n); printf(ttt欢迎进入学分排序系统!n);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1