C语言成绩系统

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;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值