c语言期末考试学生管理系统

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#define M 7
void zjm();//函数声明zjm
void rs(double arr3[])	//统计各分段人数
{ 
	int yx = 0;//优秀90以上
	int lh = 0;//良好80-90
	int zd = 0;//中等70-80
	int	hg = 0;//合格60-70
	int bhg = 0;//不合格60以下
	int i = 0;
	for (i = 0; i < M - 1; i++)
	{
		if (arr3[i] > 90)
		{
			yx++;
		}
		else if (arr3[i] >= 80 && arr3[i] <= 90)
		{
			lh++;
		}
		else if (arr3[i] >= 70 && arr3[i] <=80)
		{
			zd++;
		}
		else if (arr3[i] >= 60 && arr3[i] <= 70)
		{
			lh++;
		}
		else
		{
			bhg++;
		}
	}
	printf("等级为优的人数:%d\n\n", yx);
	printf("等级为良的人数:%d\n\n", lh);
	printf("等级为中等的人数:%d\n\n", zd);
	printf("等级为合格的人数:%d\n\n", hg);
	printf("等级为不合格的人数:%d\n\n", bhg);
}
void max_min(double arr3[])//统计最高分和最低分
{
	double max = arr3[0];
	double min = arr3[0];
	int i = 0;
	for (i = 0; i < M-1 ; i++)
	{
		if (max < arr3[i])
		{
			max = arr3[i];
		}
		if (min >arr3[i])
		{
			min = arr3[i];
		}
	}
	printf("max=%.1lf   min=%.1lf\n", max, min);

}
void sum_avg(double arr3[])//显示总分和平均分
{
	int i = 0;
	double sum = 0.0;
	double avg = 0.0;
	for (i = 0; i < M-1; i++)
	{
		sum += arr3[i];
	}
	avg = sum / (M - 1);
	printf("总分为%.1lf\n", sum);
	printf("平均分为%.1lf\n", avg);
}
void cj2(double arr3[])//用于显示学生成绩
{
	int i = 0;
	int j = 0;
		printf("学生成绩:\n");
		printf("学号");
		printf("\t\t成绩\n");	
		for (i = 0; i < M-1; i++)
		{
			printf("%d\t\t%.1lf\n", 1000 + i, arr3[i]);
		}
}

void  cj1( double arr3[])//用于录入学生成绩
{
	double cj = 0.0;
	int i = 0;
	printf("\n请依次输入学生成绩(输入 -1 退出)\n");
	for (i = 0; i < M-1; i++)
	{
		ww:
			printf("\t第%d个学生的成绩为:",i+1);
			scanf("%lf", &cj);
			if (cj == -1)
			{
				printf("\t输入结束\n");
				zjm();//结束了显示主界面
				break;
			}
			else if (cj >= 0.0 && cj <= 100.0)
			{
				arr3[i] = cj;
			}
			else
			{
				printf("输入有误,请重新输入\n");
				goto ww;
			}
	} 

}

void zjm()//用于打印主界面
{
	double arr3[10] = { 0 };
	printf("\n\n************************************\n");
	printf("\n\t学生成绩管理系统\n");
	printf("\n************************************\n");
	printf("\n\t1-录入学生成绩\n");
	printf("\t2-显示学生成绩\n");
	printf("\t3-统计总分和平均分\n");
	printf("\t4-统计最高分和最低分\n");
	printf("\t5-统计各分段人数\n");
	printf("\t0-退出\n");
	printf("\n************************************\n");
	while (1)
	{
		printf("请选择主菜单序号(0-5)");
		int n = 0;
		scanf("%d", &n);
		switch (n)
		{
		case 1:
			//录入学生成绩
			cj1(arr3);
			break;

		case 2:
			//显示学生成绩
			cj2(arr3);
			break;

		case 3:
			//统计总分和平均分
			sum_avg(arr3);
			break;

		case 4:
			//统计最高分和最低分
			max_min(arr3);
			break;
		case 5:
			//统计各分段人数
			rs(arr3);
			break;
		case 0:
			//退出
			exit();//系统的退出的函数。
		default:
			break;
		}

	}
}
	
void dlyz()//用于用户登录验证
{
	//默认密码为123456
	char arr1[7] =  { '1','2','3','4','5','6'};
	//用户输入的密码
	char arr2[7] = { 0 };
	while (1)//用于用户输入密码,然后用户一直输入
	{
		printf("请输入密码\n");
		scanf("%s", arr2);
		int pd = strcmp(arr1, arr2);
		if (pd == 0)
		{
			printf("密码正确,登录成功\n");
			zjm();//显示主界面
			break;
		}
		printf("密码错误,请重新输入\n");
	}	
}
int main()//程序入口函数
{
	dlyz();
	return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值