10、设计一个学生成绩管理系统,系统如下:
学号 数学 语文 英语 总分 排名
001
002
003
004
平均分
包括如下功能,用函数完成,在主函数中调用这些功能函数。
(1)、提供帮助老师录入成绩的函数。
(2)、提供老师根据学号查看学生成绩的函数。
(3)、提供老师获取学生排名和成绩明细的函数。
(4)、提供老师查看同学们每一科平均分的函数。
(5)、如果老师成绩录入错误希望修改怎么实现。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=0,b,c,d,e,f,g,h,o;
int n,m;
int A[5][5];
printf("---------------------------\n");
kd:for(n=0,a=0;n<4;n++)
{
a++;
printf("请输入00%d成绩,数学,语文,英语",a);
scanf("%d %d %d",&b,&c,&d);
A[0][n]=b;
A[1][n]=c;
A[2][n]=d;
A[3][n]=b+c+d;
}
A[0][4]=(A[0][0]+A[0][1]+A[0][2]+A[0][3])/4;
A[1][4]=(A[1][0]+A[1][1]+A[1][2]+A[1][3])/4;
A[2][4]=(A[2][0]+A[2][1]+A[2][2]+A[2][3])/4;
A[3][4]=(A[3][0]+A[3][1]+A[3][2]+A[3][3])/4; /*平均分*/
e=A[3][0];
f=A[3][1];
g=A[3][2];
h=A[3][3]; /*总分 */
if(e>=f && g>=h)
{
if(e>=g && f>=g)
e=1,f=2,g=3,h=4;
else if(g>=e && h>=e)
g=1,h=2,e=3,f=4;
else if(e>=g && g>=f && f>=h)
e=1,g=2,f=3,h=4;
else if(e>=g && h>=f)
e=1,g=2,h=3,f=4;
else if(g>=e && f>=h)
g=1,e=2,f=3,h=4;
else
g=1,e=2,h=3,f=4;
}
else if(e>=f && h>=g)
{
if(e>=h && f>=h)
e=1,f=2,h=3,g=4;
else if(e>=h && f>=g)
e=1,h=2,f=3,g=4;
else if(e>=h && g>=f)
e=1,h=2,g=3,f=4;
else if(h>=e && f>=g)
h=1,e=2,f=3,g=4;
else if(h>=e && g>=f)
h=1,e=2,g=3,f=4;
else
h=1,g=2,e=3,f=4;
}
else if(f>=e && g>=h)
{
if(e>=g && f>=g)
f=1,e=2,g=3,h=4;
else if(f>=g && e>=h)
f=1,g=2,e=3,h=4;
else if(f>=g && h>=e)
f=1,g=2,h=3,e=4;
else if(g>=f && e>=h)
g=1,f=2,e=3,h=4;
else if(g>=f && h>=e)
g=1,f=2,h=3,e=4;
else
g=1,h=2,f=3,e=4;
}
else
{
if(f>=h && e>=h)
f=1,e=2,h=3,f=4;
else if(f>=h && e>=g)
f=1,h=2,e=3,g=4;
else if(f>=h && g>=e)
f=1,h=2,g=3,e=4;
else if(h>=f && g>=e)
h=1,f=2,g=3,e=4;
else if(h>=f && e>=g)
h=1,f=2,e=3,g=4;
else
h=1,g=2,f=3,e=4;
} /*比大小*/
printf(" 学号 数学 语文 英语 总分 排名 \n");
printf("------------------------------\n");
printf(" 001 %d %d %d %d %d \n",A[0][0],A[1][0],A[2][0],A[3][0],e);
printf(" 002 %d %d %d %d %d \n",A[0][1],A[1][1],A[2][1],A[3][1],f);
printf(" 003 %d %d %d %d %d \n",A[0][2],A[1][2],A[2][2],A[3][2],g);
printf(" 004 %d %d %d %d %d \n",A[0][3],A[1][3],A[2][3],A[3][3],h);
printf("平均分 %d %d %d %d ---- \n",A[0][4],A[1][4],A[2][4],A[3][4]);
printf("------------------------------\n");
while (1)
{
printf("-----------------------------------\n");
printf("请输入1--5\n");
printf("1.查看学生整体成绩\n");
printf("2.获取学生排名和成绩明细\n");
printf("3.查看同学们每一科平均分\n");
printf("4.更改成绩!\n");
printf("5.查看网页\n");
printf("6.退出!\n");
printf("-----------------------------------\n"); /*目录栏*/
int x;
scanf("%d",&x);
switch(x)
{
case(1):
printf(" 学号 数学 语文 英语 总分 排名 \n");
printf("------------------------------\n");
printf(" 001 %d %d %d %d %d \n",A[0][0],A[1][0],A[2][0],A[3][0],e);
printf(" 002 %d %d %d %d %d \n",A[0][1],A[1][1],A[2][1],A[3][1],f);
printf(" 003 %d %d %d %d %d \n",A[0][2],A[1][2],A[2][2],A[3][2],g);
printf(" 004 %d %d %d %d %d \n",A[0][3],A[1][3],A[2][3],A[3][3],h);
printf("平均分 %d %d %d %d ---- \n",A[0][4],A[1][4],A[2][4],A[3][4]);
printf("------------------------------\n");
break;
case(2):
printf("请输入学号......\n");
printf("001\n");
printf("002\n");
printf("003\n");
printf("004\n");
printf("0为返回值");
scanf("%d",&m);
printf("-----------------------------------\n");
switch (m)
{
case 001:printf("此学生成绩如下:数学%d 语文%d 英语%d 总分%d 排名%d \n",A[0][0],A[1][0],A[2][0],A[3][0],e);break;
case 002:printf("此学生成绩如下:数学%d 语文%d 英语%d 总分%d 排名%d \n",A[0][1],A[1][1],A[2][1],A[3][1],f);break;
case 003:printf("此学生成绩如下:数学%d 语文%d 英语%d 总分%d 排名%d \n",A[0][2],A[1][2],A[2][2],A[3][2],g);break;
case 004:printf("此学生成绩如下:数学%d 语文%d 英语%d 总分%d 排名%d \n",A[0][3],A[1][3],A[2][3],A[3][3],h);break;
case 0:;break;
}
case(3):
while (1)
{ printf("0.数学\n");
printf("1.语文\n");
printf("2.英语\n");
printf("3.总分\n");
scanf("%d",&o);
if (o=4)
{
printf("确认退出");
break;
}
switch (o)
{
case 0:printf("数学平均分为%d\n",A[0][4]);break;
case 1:printf("语文平均分为%d\n",A[1][4]);break;
case 2:printf("英语平均分为%d\n",A[2][4]);break;
case 3:printf("总分平均分为%d\n",A[3][4]);break;
}
break;
case(4):
goto kd;
case(5):
system("start https://yinzechen.rth1.vip/") ;
case(6):
break;
}
}
}
return 0;
}