#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;
}
c语言期末考试学生管理系统
于 2023-08-13 16:35:14 首次发布