c语言课程设计学生成绩管理系统可自行修改.docx

上传人:b****7 文档编号:25089199 上传时间:2023-06-05 格式:DOCX 页数:13 大小:45KB
下载 相关 举报
c语言课程设计学生成绩管理系统可自行修改.docx_第1页
第1页 / 共13页
c语言课程设计学生成绩管理系统可自行修改.docx_第2页
第2页 / 共13页
c语言课程设计学生成绩管理系统可自行修改.docx_第3页
第3页 / 共13页
c语言课程设计学生成绩管理系统可自行修改.docx_第4页
第4页 / 共13页
c语言课程设计学生成绩管理系统可自行修改.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

c语言课程设计学生成绩管理系统可自行修改.docx

《c语言课程设计学生成绩管理系统可自行修改.docx》由会员分享,可在线阅读,更多相关《c语言课程设计学生成绩管理系统可自行修改.docx(13页珍藏版)》请在冰豆网上搜索。

c语言课程设计学生成绩管理系统可自行修改.docx

c语言课程设计学生成绩管理系统可自行修改

学生成绩管理系统课程设计

报告

一、系统软件环境(3)

二、课程设计题目(3)

三、课程设计的基本要求(3)

四、数据结构设计描述(4)

五、各变量的定义和作用(4)

六、系统各函数的功能、相互调用关系(4)

七、N-S流程图(5)

八、课程设计过程中遇到的问题及解决过程…(6)

九、心得与体会(6)

十、附页源程序清单(6)

十^一、参考文献(6)

附录

学生成绩管理系统课程设计

报告

•系统软件环境:

本程序主要运行在:

VisualC++6.0

TurboC/C++3.0

TurboC2.0

二•课程设计题目:

(一)用梯形法求定积分(数值求解算法)

2

用梯形法编程求函数f(x)=x2+2x+1的定积分°f(x)dx的值。

提示:

把积分区间[a,b]等分为n等分(a,b,n的值由程序输入。

),可得到若干个小梯形,积分面积就近似为这些小梯形面积之和。

(二)综合训练

学生成绩管理

程序说明:

有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均

成绩,试设计一学生成绩管理系统,使之能提供以下功能:

(1)主菜单

学生成绩管理系统

1、成绩录入

2、成绩查询

3、成绩统计

4、退出

(2)各菜单项功能

1成绩录入:

输入学生的学号、姓名及三门课的成绩;

2成绩查询:

按学号查询学生记录。

3绩统计:

计算学生的平均分;OK

根据学生的平均分高低,对学生的数据进行排序后输出;OK

4退出系统:

退出整个系统(即主菜单)。

三•课程设计的基本要求

设计步骤的规范不但可以培养学生科学的工作方法和作风,而且还能有效地减少错误,

提高工作效率。

因此必须严格执行良好的实验步骤规范(包括上级操作规范)。

本课程设计

的基本步骤与要求是:

1、问题分析及解决方案框架确定

充分地分析和理解问题本身,弄清要求做什么。

在确定解决方案框架过程中,考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。

2、详细设计和编码

确定算法的主要流程,再此基础上进行代码设计(Coding),每个明确的功能模块程序

一般不超过60行,否则要进一步划分。

3、上机前编写程序与检查

上机前程序检查可有效提高调试效率,减少上机调试程序时的无谓错误。

程序检查主要有两种途径:

用一组测试数据手工执行程序;通过阅读或给别人讲解自己

的程序而深入全面地理解程序逻辑。

把程序中的明显错误事先排除。

4、上机调试程序

5、完成课程设计报告

四•数据结构设计描述

主函数

菜单函数

 

六•系统各函数的功能、相互调用关系

1•函数实现功能说明:

(1)、menu函数

是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。

(2、、input函数

是定义用于输入学生信息。

(3)、select函数

是定义义用于查询学生信息。

包括学号、姓名及各科成绩。

(4)、statistics函数

计算学生的平均分。

根据学生的平均分高低,对学生的数据进行排序后输出。

2•相互调用关系:

Main函数调用menu函数。

Menu函数可以调用input函数、select函数和statistics函数

七.N-S流程图

(一)、用梯形法求定积分流程图:

输入a,b,n;h=(b-a)/n

fO=a*a+2.0*a+1.0

fori=0ton

a=a+h

f1=a*a+2.0*a+1.0

s=(fO+f1)*h/2.0+s

f0=f1

输出s

(二)、学生成绩管理系统的NS流程图:

1、输入函数:

fori=0toN

输入学号、姓名

forj=0toM

输入3门成绩分数

输入完毕!

按任意键返回主菜单

例如输入:

1王908075;2李808560;3赵657590

2、查询函数:

输入要查询学生号码

3、统计函数:

输出学生学号输出学生姓名

Forj=0toN

Fori=0toM

temp=temp+stu[j].score[i]

stu[j].average=temp/N

求平均成绩并输出

排序(冒泡法)

输出学生平均成绩前三名

fori=0toM

|显示该学生的3门课程成绩按任意键返回主菜单

输出“学生成绩管理系统”及功能菜单

真、

真、

真J

清屏并调用“输入函

数”

清屏并调用“查询函

数”

清屏并调用“统计函

数”

退出系统

清屏并调用“菜单函数”

4、菜单函数:

按任意键返回主菜单

5、主函数:

八•课程设计过程中遇到的问题及解决过程

1、For(i=0;i>n;i++)经常写成For(i=0,i>n,i++),导致运行错误。

解决方法:

编程时候需要仔细和耐心。

2、对菜单切换的方法不了解,编写的程序运行时候是一竖行向下排列,很影响使用者

的视觉范围,通过搜索一些相关资料得知system("cls")的作用。

3、对一些知识的不熟悉,导致刚开始编程的时候很难下手。

解决方法:

重新掌握不熟悉的知识并收集相关资料。

九•心得与体会:

一周的课程设计很快结束了,一开始拿起题目时什么都不懂,真不知道从何下手到后来

觉得它很有趣,很想去做并希望能把它做得更好。

刚开始错误实在太多,改错误真的很头疼,

不过当经过一次又一次的调试后,终于弄好了,那时却是特别的高兴。

总的来说就是这次的

课程让我学了不少东西,也让我对编程更有兴趣,虽然学的不是很好,不过以后会努力的。

十•源程序(请见附录)

附录1:

用梯形法求定积分(数值求解算法)

附录2:

学生成绩管理系统

十^一'.参考文献

C程序设计(第三版)

附录1:

用梯形法求定积分(数值求解算法)

s=0,h,f0,f1,a,b,n;

printf("PlreasEntera,b,n:

");

scanf("%f,%f,%f",&a,&b,&n);

h=(b-a)/n;

f0=a*a+2.0*a+1.0;

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

{

a=a+h;

f1=a*a+2.0*a+1.0;

s=(f0+f1)*h/2.0+s;

f0=f1;

}

printf("%f\n",s);

getch();

}

 

附录2:

 

 

学生成绩管理系统

/*学生人数*//*课程门数*/

/*学号*/

/*姓名*/

/*三门课成绩*/

/*学生数*/

/*查询*/

/*统计*/

#include#include#include#defineN3#defineM3structstudent

{

intnum;

charname[20];intscore[3];

floataverage;

}stu[N];

voidinput();voidselect();

voidstatistics();voidmenu();

voidinput()

{

inti,j;

printf("\t\t①成绩录入\n\n");

for(i=0;i

{

printf("请输入学号:

");

scanf("%d",&stu[i].num);printf("请输入姓名:

");

scanf("%s",&stu[i].name);

for(j=0;j

{

printf("第%4门成绩的分数为:

”,j+1);

scanf("%d",&stu[i].score[j]);

}

printf("\n\n");

}

printf("\n\n");

printf("输入完毕!

按任意键返回主菜单!

");getch();

}

/*2.查询*/

voidselect(intno)

{

inti;

printf("学生%(号:

\n",no);

printf("学号:

%d\n",stu[no-1].num);printf("姓名:

%s\n",stu[no-1].name);for(i=0;i

{

printf("第%(门课程的成绩为:

",i+1);

printf("%(\n",stu[no-1].score[i]);

}

printf("\n按任意键返回主菜单!

");getch();

}

/*3.统计*/

voi(statistics()

{

floattemp=0;

inti=0;

intj=0;

/*学生成绩平均分*/

temp=0;

printf("\t\t③成绩统计\n\n");

printf("\n学生成绩平均分:

");

for(j=0;j

{

for(i=0;i

{

temp=temp+stu[j].score[i];

}

stu[j].average=temp/N;

.name);

printf("\n学生%s的成绩平均成绩为:

”,stu[j]

printf("%0.2f分",stu[j].average);

temp=0;

}

/*排序(冒泡法)*/

for(j=0;j

for(i=0;i

if(stu[i].average

{

temp=stu[i].average;

stu[i].average=stu[i+1].average;

stu[i+1].average=temp;

}

printf("\n\n学生平均成绩前三名:

");for(i=0;i<3;i++)

{

printf("\n第%(名:

%0.2f分”,i+1,stu[i].average);

}

printf("\n\n按任意键返回主菜单!

");

getch();

}

voi(menu()

{

intnum=0;

intn=0;

④退出系统

printf("\n\t\t\t学生成绩管理系统\n\n");

printf("\t\t\t①成绩录入\n\t\t\t②成绩查询\n\t\t\t③成绩统计\n\t\t\t

\n");

printf("\t\t\tchoose:

");

scanf("%(",&num);

switch(num)

{

case1:

system("cls");

input();

break;

case2:

system("cls");

printf("\t\t②成绩查询\n\n");

printf("请输入要查询的学生号(1~3):

");

scanf("%(",&n);

select(n);

break;

case3:

system("cls");

statistics();

break;

case4:

exit(0);

(efault:

;

}

}

voi(main()

{

while

(1)

{

system("cls");/*清屏*/

menu();

}

}

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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