// students[学生数量][2] 第一列保存学号,第二列保存成绩
#include<stdio.h>
//宏定义
#define INCREASE_SCORE 1
#define SEARCH_ALL 2
#define SEARCH_SCORE 3
#define MAX_SCORE 4
#define MIN_SCORE 5
#define AVE_SCORE 6
#define MODIFY_SCORE 7
#define EXIT 8
int students[10][2] = {0};
int index = 0;//表示当前学生个数
//打印系统菜单函数
int menu();
void increase_score();
void print_score();
int search_score();
void min_score();
void max_score();
void ave_score();
int modify_score();
int main()
{
int option;
char ch;
int xiugai;
int chengji;
while(1)
{
option = menu();
switch(option)
{
case INCREASE_SCORE:
increase_score();
print_score();
break;
case SEARCH_ALL:
print_score();
break;
case SEARCH_SCORE:
search_score();
break;
case MAX_SCORE:
max_score();
break;
case MIN_SCORE:
min_score();
break;
case AVE_SCORE:
ave_score();
break;
case MODIFY_SCORE:
xiugai=modify_score();
scanf("%d",&chengji);
students[xiugai-1][1]=chengji;
break;
case EXIT:
printf("感谢使用,再见");
return 0;
break;
default:
printf("输入错误\n");
break;
}
printf("是否继续?(y/n):");
getchar();
scanf("%c",&ch);
if(ch == 'y')
{
continue;
}
else
{
printf("感谢使用,再见");
break;
}
}
return 0;
}
//定义系统界面
int menu()
{
int option;
printf("************欢迎进入海峰考务系统****************\n");
printf(" 1.添加学生成绩\n");
printf(" 2.查看所有学生成绩\n");
printf(" 3.根据学号查看成绩\n");
printf(" 4.查看成绩最高分和学号\n");
printf(" 5.查看成绩最低分和学号\n");
printf(" 6.查看成绩平均分\n");
printf(" 7.根据学号修改成绩\n");
printf(" 8.退出 \n");
printf("*************************************************\n");
printf("请选择:");
scanf("%d",&option);//输入索要选择的项目
return option;
}
//添加学生成绩的操作
void increase_score()
{
int id; //学生学号变量
int score; //学生成绩的变量
printf("请输入学生的学号:") ;
scanf("%d",&id);
printf("请输入学生的成绩:") ;
scanf("%d",&score);
if(index>=10)
{
printf("数组已满\n");
}
else
{
students[index][0] = id;
students[index][1] = score;
index++;
printf("添加成功\n");
}
}
//查看所有学生成绩
void print_score()
{
int i;
for(i=0;i<index;i++)
{
printf("学生的学号:%d,学生的成绩%d\n",students[i][0],students[i][1]);
}
}
//根据学号查看成绩
int search_score()
{
printf("请输入学号:\n");
int a;
int i;
scanf("%d",&a);
for(i=0;i<index;i++)
{
if(a==students[i][0])
{
printf("学号是%d的学生的学号是:%d",students[i][0],students[i][1]);
}
}
}
//查看成绩最高分和学号
void max_score()
{
int c;
int i;
int id ;
for(i=0;i<index;i++)
{
if(students[i][1]>c)
{
c=students[i][1];
id = students[i][0];
}
}
// for(i=0;i=index;i++)
// {
// if(students[i][1]==c)
// {
//
// break;
// }
printf("最高成绩为%d,学号是%d\n",c,id);
}
//查看成绩最低分和学号
void min_score()
{
int c=students[0][1];
int i;
int id ;
for(i=0;i<index;i++)
{
if(students[i][1]<c)
{
c=students[i][1];
id = students[i][0];
}
}
// for(i=0;i=index;i++)
// {
// if(students[i][1]==c)
// {
//
// break;
// }
printf("最低成绩为%d,学号是%d\n",c,id);
}
//查看成绩平均分
void ave_score()
{
int i;
float sum;
for(i=0;i<index;i++)
{
sum+=students[i][1];
}
printf("%d",sum/(index+1));
}
//根据学号修改成绩
int modify_score()
{
int b;
int c;
int i;
printf("请输入要修改的学生学号:\n");
scanf("%d",&b);
for(i=0;i<index;i++)
{
if(b==students[i][0])
{
printf("请输入修改的成绩:\n");
}
}
return i;
}