-
C
语言课程设计报告学生成绩管理系统
机电工程学院
中南大学
本科生
C
语言课程设计
题
目
学生成绩管理系统
1
/
15
C
语言课程设计报告学生成绩管理系统
一、课程设计
题目:学生成绩管理系统
给出
n
个学生的
4
门考 试的成绩表,每个学生的信息由学号、姓
名以及各科成绩组成。
对学生的考试成绩进行有关统计 :
按某一科分
数或平均分数高低次序,列出名次表,分数相同的为同一名次;按名
次打 印出每个学生的学号、
姓名、
总分以及各科成绩,
并打印统计表。
三、概要设计
程序要有的功能:
1.
输入学生成绩
2.
保存成绩
3.
学生成绩排序
4.
学生成绩查询
5.
学生成绩清单
6.
退出管理系统
程序运行当中,
通过选择对应的功能序号来实现所需功能。< br>对输入的
数据要有事先的分析,
如果用户输入的数据与实际不相符如输入成绩
的 数值为负,
则程序应输出相应的提示:
“数据不存在”
。
再者就是,
当再输入完相应的数据后,
程序作出相应的提示,
询问用户是否要继
续输入。在排列学 生成绩时候,如果出现成绩相同的情况,程序自动
作出处理。
四、设计任务
将程序分为六个方面:
1.
输入学生成绩
、
2.
保存成绩
、
3.
学生成
绩排序
、
4.
学生成绩查询
、
5.
学生成绩清单
、
6.
退出管理系统。
每个人负责两个方 面的程序,其中侯蒙召负责
1
、
2
两个程序,杨天
静负责
3
、
4
两个,张振陆负责
5
、
6
两个,最后交由组长 侯蒙召组合
整理,形成现在的总的程序。
2
/
15
C
语言课程设计报告学生成绩管理系统
流程图:
开始
操作界面
选择操作
学号
输入数据
姓名
四门成绩
选
择
选
择
保存数据
选
择
排序
按学号
选
择
查询
按姓名
选
择
显示清单
选
择
退出系统
结束
3
/
15
C
语言课程设计报告学生成绩管理系统
四、详细设计
源程序:
#include
#include
#include
#include
struct Student
{char name[20];
int no;
int math;
int program;
int english;
int chinese;
int aver;
}stu[100],t;
int num=0;
int menu()
{
int a;
char s[20];
system(
/*
程序介绍
*/
printf(
欢迎使用学生成绩管理系统
,
该系统包括以下几项功
能,
请根据提示做相应操作
n
printf(
输入学生成绩
n
printf(
保存成绩
n
printf(
学生成绩排序
n
printf(
学生成绩查询
n
printf(
学生成绩清单
n
printf(
退出管理系统
n
选择操作
*/
printf(
printf(
请选择要进行操作的编号
:n
do{
printf(
scanf(
a=atoi(s);
}
4
/
15
C
语言课程设计报告学生成绩管理系统
while (a<0 || a>6);
return a;
}
int enter()
{
int i=0;
printf(
请输入学生信息
n
printf(
scanf(
printf(
姓名
:
scanf(
printf(
数学
:
scanf(
printf(
程序设计
:
scanf(
printf(
英语
:
scanf(
printf(
语文
:
scanf(
stu[num].aver=(stu[num].math+st u[num].program+stu[num].e
nglish+stu[num].chine se)/4;
num=num+1;
printf(
是否继续输入?
(y/n):n
if(getch()=='y'||getch()=='Y')
enter();
else
return(0);
}
void save()
{
;
int i;
if((fp=fopen(
{
printf(
return;
}
for(i=0;i
/
15
C
语言课程设计报告学生成绩管理系统
if(fwrite(&stu[i],sizeof(struct Student),1,fp)!=1)
{
printf(
return;
}
printf(
数据保存成功
n
system(
fclose(fp);
}
void sort()
{
int i, j, k;
int sort_no;
printf(
按数学成绩排
n
printf(
按程序设计成绩排
n
printf(
按英语成绩排
n
printf(
按语文成绩排
n
printf(
按平均分成绩排
n
printf(
返回主菜单
n
scanf(
if(sort_no==1)
//
数学成绩排序
{
for(i=0; i
{
k = i;
for(j=i+1; j
if(stu[j].math>stu[k].math)
k=j;
{
t=stu[k];
stu[k]=stu[i];
stu[i]=t;
}
}
printf(
学号
姓名
数学
程序
均分
n
6
/
15
英语
语文
平
C
语言课程设计报告学生成绩管理系统
for(i=0; i
{
printf(
stu[i].math);
printf(
stu[i].chinese, stu[i].program, stu[i].aver);
}
}
else if(sort_no == 2)
//
程序设计成绩排序
{
for(i=0; i
{
k = i;
for(j=i+1; j
{
if(stu[j].program>stu[k].program)
k=j;
}
t=stu[k];
stu[k]=stu[i];
stu[i]=t;
}
printf(
学号
姓名
数学
程序
英语
语文
平均分
n
for(i=0; i
{
printf(
stu[i].math);
printf(
stu[i].chinese, stu[i].program, stu[i].aver);
}
}
else if(sort_no == 3)
//
英语成绩排序
{
for(i=0; i
{
k = i;
7
/
15
-
-
-
-
-
-
-
-
本文更新与2021-01-24 14:20,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/561076.html
-
上一篇:外研社九年级英语下册期末测试题
下一篇:仁爱版新八年级英语已学时态练习测试