C语言课程信息管理系统课程设计报告材料.docx

上传人:b****8 文档编号:23895963 上传时间:2023-05-22 格式:DOCX 页数:34 大小:311.80KB
下载 相关 举报
C语言课程信息管理系统课程设计报告材料.docx_第1页
第1页 / 共34页
C语言课程信息管理系统课程设计报告材料.docx_第2页
第2页 / 共34页
C语言课程信息管理系统课程设计报告材料.docx_第3页
第3页 / 共34页
C语言课程信息管理系统课程设计报告材料.docx_第4页
第4页 / 共34页
C语言课程信息管理系统课程设计报告材料.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

C语言课程信息管理系统课程设计报告材料.docx

《C语言课程信息管理系统课程设计报告材料.docx》由会员分享,可在线阅读,更多相关《C语言课程信息管理系统课程设计报告材料.docx(34页珍藏版)》请在冰豆网上搜索。

C语言课程信息管理系统课程设计报告材料.docx

C语言课程信息管理系统课程设计报告材料

《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概要设计

程序流程图:

 

模块分解:

voidpasd();//声明密码函数

声明部分

 

(1)主函数模块voidzhujie();//声明zhujie()函数

zhujie();//调用zhujie()函数

调用部分

pasd();//调用密码函数

联系

联系

声明部分:

voidyewu();//声明业务函数

 

(2)密码模块

 

调用部分:

yewu();//调用业务函数

联系

联系voidinputcouinfo(void);//声明输入函数

voidupdatecouinfo(void);//声明修改函数

voidaddcouinfo(void);//声明添加函数

声明部分

voidfindcouinfo(void);//声明查询函数

voidordercouinfo(void);//声明排序函数

(3)业务模块voiddelcouinfo(void);//声明删除函数

inputcouinfo();//调用输入函数

case'1':

findcouinfo();break;//调用课程信息查询

调用部分case'2':

delcouinfo();break;//调用课程信息删除

case'3':

updatecouinfo();break;//调用课程信息修改

case'4':

ordercouinfo();break;//调用课程信息排序

case'5':

addcouinfo();break;//调用课程信息添加

 

数据结构的说明:

#definen120//控制课程个数的存储空间

#definem15//控制课程属性个数的存储空间空间

charcouinfo[n1][m1][16];//定义全局数组

charpassword[]={"123456"};//原密码

inta,i,j,t=0,c=0,n=4,m=5;//定义全局变量

密码模块:

charp[9];//定义密码数组

p[i]==8//控制退格

p[i]==13//回车控制

strcmp(p,password)==0//密码匹配字符串比较函数

intn=3;//密码输入次数控制

业务模块:

system("cls");//清屏函数

 

3.3详细设计

密码模块:

 

注释

 

Y(是)N(否)

 

 

YN

 

删除模块:

 

注释

 

注释

 

YN

 

YN

 

3.4编写过程中遇到的问题及解决办法

(1)在调试函数的过程时,一般高级语言要求函数实参与形参个数与类型一致,但在C语言编译在该点检查不严格。

当出现实参与形参类型不一致时,编译运行时,系统不报错。

因此,错误隐含了下来,给程序调试带来了困难。

解决方法是:

一开始,我自己仔细查找自己的程序的错误,但最终在老师的帮助下,找到了程序的错误。

并将其改正,使程序正常运行。

(2)当要求从键盘读入一字符串时,若选用输入的函数不当时,则容易造成错误,并很难发现。

解决方法:

自己认真并且反复检查以及老师的帮助。

3.5调试结果

界面

 

3.6课程设计总结

课程管理信息系统心得

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。

回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。

我做的是课程管理信息系统,虽然是很简单的一个小的程序,但对我一个初学者来说却是一个很大的困难。

更加是第一次做这样的课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。

可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。

特别是函数调用和数组的部分,几乎是一片空白。

不过经过几天的努力,大体上把课本上的知识点看了一遍,知识点也都基本是撑握了,所以下一步就是开始正式的编程序了。

不过毕竟是个新手,还是不知如何下手,于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了C语言编程的基本过程和方法。

经过一波三折,终于开始正式编程。

编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强迫自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。

而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。

无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。

通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。

在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。

因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!

 

四.参考书目:

[1]谭浩强,《C程序设计教程》,北京,清华大学出版社,2007年

[2]康莉,《零基础学C语言》,北京,机械工业出版社,2010年

[3]方风波,《C语言程序设计》,北京,地质出版社,2006年

 

附录A源程序代码

#include

#include//ConsoleInput/Output(控制台输入输出)

#include

#definen120//控制课程个数的存储空间

#definem15//控制课程属性个数的存储空间空间

charcouinfo[n1][m1][16];//定义全局数组

chard[16],b[6];

charpassword[]={"123456"};//原密码

inta,i,j,t=0,c=0,n=4,m=5;//定义全局变量

//主函数模块

voidmain()

{

voidpasd();//声明密码函数

voidzhujie();//声明zhujie()函数

zhujie();//调用zhujie()函数

pasd();//调用密码函数

}

voidzhujie()

{

printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

printf("★******************************************************************************\n");

printf("★**********************************\n");

printf("★**★★★★**★★★★**欢迎进入课程管理信息系统**★★★★**★★★★**\n");

printf("★**********************************\n");

printf("★************Welcometothecourseinformationmanagementsystem***************\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");

printf("★**★*查询课程信息*★★*修改课程信息*★**\n");

printf("★***★****************★★****************★***\n");

printf("★******************************************************************************\n");

printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");

}

//密码模块

voidpasd(void)//定义密码函数

{

voidyewu();//声明业务函数

inti;

charp[9];

intn=3;//密码输入次数控制

do

{

printf("pleaseenterpassword:

\n");//输入密码

for(i=0;i<6;i++)

{

p[i]=getch();

if(p[i]==8)//控制退格

{

i=i-2;

printf("\b\b");

}

else

{

printf("*");

if(p[i]==13)break;//回车控制

}

p[6]='\0';

}

if(strcmp(p,password)==0)//密码匹配strcmp(p,password)

{

//printf("\n");

c=1;

yewu();//调用业务函数

break;

}

else

{

printf("pleaseenterpasswordagain:

\n");

n--;

}

}

while(n>0);

}

//业务模块

voidyewu()//定义业务函数

{

voidinputcouinfo(void);//声明输入函数

voidaddcouinfo(void);//声明添加函数

voidfindcouinfo(void);//声明查询函数

voidordercouinfo(void);//声明排序函数

voiddelcouinfo(void);//声明删除函数

voidupdatecouinfo(void);//声明修改函数

chard;

system("cls");

if(c==1)

{

inputcouinfo();//调用输入函数

printf("\t课程信息查询请输入:

1\n\t课程信息删除请输入:

2\n\t课程信息修改请输入:

3\n\t课程信息排序请输入:

4\n\t课程信息添加请输入:

5\n");

printf("您是否进行其他操作,否输入0,否则输入其他:

");

scanf("%d",&a);

for(i=0;;i++)

{

if(a!

=0)

{

printf("请输入要操作的选项:

");

scanf("%s",&d);

switch(d)

{

case'1':

findcouinfo();break;//调用课程信息查询函数

case'2':

delcouinfo();break;//调用课程信息删除函数

case'3':

updatecouinfo();break;//调用课程信息修改函数

case'4':

ordercouinfo();break;//调用课程信息排序函数

case'5':

addcouinfo();break;//调用课程信息添加函数

default:

break;

}

}

}

}

}

//课程信息输入模块

voidinputcouinfo(void)//定义课程信息输入函数

{

intx=1;

printf("\t\t\t**********************\n");

printf("\t\t\t欢迎进入信息输入系统!

!

\n");

printf("\t\t\t**********************\n");

printf("请注意:

性质为必修(B)或选修(X)\n");

printf("\t\t课程号名称性质总学时学分\n");

for(i=0;i

{

printf("输入课程编号%d:

",x++);

for(j=0;j

{

scanf("%s",&couinfo[i][j]);

}

}

printf("课程号名称性质总学时学分\n");

for(i=0;i

{

for(j=0;j

{

printf("%s\t",couinfo[i][j]);

}

printf("\n");

}

}

 

voidaddcouinfo(void)//课程信息添加函数

{

intd,t,z;

printf("\t\t\t**********************\n");

printf("\t\t\t欢迎进入信息添加系统!

!

\n");

printf("\t\t\t**********************\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;j

{

scanf("%s",&couinfo[z][j]);

printf("%s\t",couinfo[z][j]);

}

}

elsebreak;

}

system("cls");

printf("\t课程查询请输入:

1\n\t课程删除请输入:

2\n\t课程修改请输入:

3\n\t课程排序请输入:

4\n\t课程添加请输入:

5\n");

}

 

voidfindcouinfo(void)//课程信息查询函数

{

chary[16];

intd,t,z;

printf("\t\t\t**********************\n");

printf("\t\t\t欢迎进入信息查询系统!

!

\n");

printf("\t\t\t**********************\n");

for(d=1;;d++)

{

printf("\n是否进行查询,“否”请输入0\n");

scanf("%d",&t);

if(t!

=0)

{

printf("请输入要查询的课程号:

");

scanf("%s",&y);

printf("课程号名称性质总学时学分\n");

for(i=0;z=i,i

{

if(strcmp(y,couinfo[i][0])==0)

{

for(j=0;j

{

printf("%s\t",couinfo[i][j]);

}

break;

}

}

if(z==n)printf("没有此课程号信息\n");

}

elsebreak;

}

system("cls");

printf("\t课程查询请输入:

1\n\t课程删除请输入:

2\n\t课程修改请输入:

3\n\t课程排序请输入:

4\n\t课程添加请输入:

5\n");

}

voiddelcouinfo(void)//课程信息删除函数

{

chary[16];

chary1[16];

intd,x,z;

printf("\t\t\t**********************\n");

printf("\t\t\t欢迎进入信息删除系统!

!

\n");

printf("\t\t\t**********************\n");

for(d=1;;d++)

{

printf("是否进行删除信息,否请输入:

0进行输入其他数字:

\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;i

{

if(strcmp(y,couinfo[i][0])==0)

{

z=i;

printf("要删除的课程信息是\n");

for(j=0;j

{

printf("%s\t",couinfo[i][j]);

}

t++;

}

printf("\n");

}

for(i=z;i

{

for(j=0;j

{

strcpy(couinfo[i][j],couinfo[i+1][j]);

}

}

if(z==n)printf("没有此课程号信息\n");

}

}

elsebreak;

printf("课程号名称性质总学时学分\n");

for(i=0;i

{

for(j=0;j

{

printf("%s\t",couinfo[i][j]);

}

printf("\n");

}

}

system("cls");

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1