完成学生管理系统
1> 使用菜单完成
2> 有学生的信息录入功能:输入学生个数,并将学生的姓名、分数录入
3> 查看学生信息:输出所有学生姓名以及对应的分数
4> 求出学习最好的学生信息:求最大值
5> 按姓名将所有学生进行升序排序
6> 按成绩将所有学生进行升序排序
要求每个功能使用函数完成
#include<stdio.h>
#include<string.h>
#define MAX 10
//进入系统
void print_meun(void)
{
printf("=======学生管理系统=========\n");
printf("=======1.学生信息录入=======\n");
printf("=======2.查看学生信息=======\n");
printf("===3.查看学习最好的学生=====\n");
printf("=======4.按姓名升序=========\n");
printf("=======5.按成绩升序=========\n");
printf("==========0.退出系统========\n");
printf("输入>>>");
}
//信息录入
void stu(char arr[][20],int m,int brr[],int n)
{
for(int i=0;i<n;i++)
{
printf("输入学生的姓名和成绩:\n");
scanf("%s",arr[i]);
scanf("%d",&brr[i]);
}
}
void look(char arr[][20],int m,int brr[],int n)
{
for(int i=0;i<n;i++)
{
printf("%s:",arr[i]);
printf("%d\n",brr[i]);
}
}
void mmax(char arr[][20],int m,int brr[],int n)
{
int maxi = 0,i;
for(i=0;i<n;i++)
{
if(brr[maxi]<brr[i])
{
maxi = i;
}
}
printf("学习最好的学生是%s,%d分\n",arr[maxi],brr[maxi]);
}
void forname(char arr[][20],int m,int brr[],int n)
{
char temp[100]={0};
for(int i=1;i<n;i++)
{
for(int j=0;j<n-i;j++)
{
if(strcmp(arr[j],arr[j+1])>0)
{
strcpy(temp,arr[j]);
strcpy(arr[j],arr[j+1]);
strcpy(arr[j+1],temp);
int t = brr[j];
brr[j] = brr[j+1];
brr[j+1] = t;
}
}
}
for(int i=0;i<n;i++)
{
printf("%s:",arr[i]);
printf("%d\t",brr[i]);
}
printf("\n");
}
void forgrade(char arr[][20],int m,int brr[],int n)
{
char temp[100]={0};
for(int i=1;i<n;i++)
{
for(int j=0;j<n-i;j++)
{
if(brr[j]>brr[j+1])
{
strcpy(temp,arr[j]);
strcpy(arr[j],arr[j+1]);
strcpy(arr[j+1],temp);
int t = brr[j];
brr[j] = brr[j+1];
brr[j+1] = t;
}
}
}
for(int i=0;i<n;i++)
{
printf("%s:",arr[i]);
printf("%d\t",brr[i]);
}
printf("\n");
}
int main(int argc, const char *argv[])
{
int meun=0;
char name[MAX][20]={0};
int grade[MAX]={0},n=0;
while(1)
{
print_meun();
scanf("%d",&meun);
switch(meun)
{
case 1:
{
printf("请输入学生个数:");
scanf("%d",&n);
stu(name,n,grade,n);
}
break;
case 2:
{
look(name,n,grade,n);
}
break;
case 3:
{
mmax(name,n,grade,n);
}
break;
case 4:
{
forname(name,n,grade,n);
}
break;
case 5:
{
forgrade(name,n,grade,n);
}
break;
case 0:goto END;
default:printf("输入有误\n");
}
}
END:
return 0;
}