作业:
完成学生管理系统
#include<stdio.h>
#include<string.h>
#define MAX 40
int x=0;
char xm[MAX][20]={0};
int cj[MAX]={0};
void print_menu(void)
{
printf("\t\t======学习管理系统======\n");
printf("\t\t======1.学生信息录入======\n");
printf("\t\t======2.查询学生信息======\n");
printf("\t\t======3.查看成绩最好的学生信息======\n");
printf("\t\t======4.将学生按姓名升序排序======\n");
printf("\t\t======5.将学生按成绩升序排序======\n");
printf("\t\t======0.退出======\n");
}
char lr_1(char xm[][20],int x) //录入姓名
{
for(int i=0;i<x;i++)
{
printf("请输入第%d位学生的姓名:",i+1);
scanf("%s",xm[i]);
}
return xm[x][20];
}
int lr_2(int cj[],int x) //录入成绩
{
for(int i=0;i<x;i++)
{
printf("请输入第%d位学生的成绩:",i+1);
scanf("%d",&cj[i]);
}
return cj[x];
}
void cx_1(void) //查看所有信息
{
for(int i=0;i<x;i++)
{
printf("%s学生的成绩为%d\n",xm[i],cj[i]);
}
}
void ck_1(void) //查看最大值
{
int max=cj[0];
int maxi=0;
int i=0;
for(i=0;i<x;i++)
{
if(cj[i]>max) //寻找最大值
{
maxi=i;
}
}
printf("成绩最好的学生是%s在第%d位\n",xm[maxi],maxi+1);
}
void px_1(void) //按姓名排序
{
int i=0;
for(i=1;i<x;i++) //冒泡排序
{
for(int j=0;j<x-i;j++)
{
if(strcmp(xm[j],xm[j+1])>0) //判断大小并交换
{
char temp[20]="";
strcpy(temp,xm[j]);
strcpy(xm[j],xm[j+1]);
strcpy(xm[j+1],temp);
}
}
}
for(int i=0;i<x;i++)
{
printf("%s\t",xm[i]);
}
puts("");
}
void px_2(void) //按照成绩排序
{
for(int i=1;i<x;i++)
{
for(int j=0;j<x-i;j++)
{
if(cj[j]>cj[j+1]) //将成绩大的交换,同时进行姓名的交换
{
cj[j]=cj[j]+cj[j+1];
cj[j+1]=cj[j]-cj[j+1];
cj[j]=cj[j]-cj[j+1];
char temp[20]="";
strcpy(temp,xm[j]);
strcpy(xm[j],xm[j+1]);
strcpy(xm[j+1],temp);
}
}
}
for(int i=0;i<x;i++)
{
printf("%s\t",xm[i]);
}
puts("");
}
int main(int argc, const char *argv[])
{
while(1) //死循环
{
print_menu(); //弹出菜单
int menu=0;
printf("请选择:");
scanf("%d",&menu);
getchar();
switch(menu)
{
case 1:
{
printf("请输入学生个数:");
scanf("%d",&x);
lr_1(xm,x);
lr_2(cj,x);
break;
}
case 2:
{
cx_1();
break;
}
case 3:
{
ck_1();
break;
}
case 4:
{
px_1();
break;
}
case 5:
{
px_2();
break;
}
case 0:
{
return 0;
}
default:
{
printf("输入错误\n");
}
}
}
return 0;
}
1> 使用菜单完成
![](https://i-blog.csdnimg.cn/direct/380f4f4fb8924f1088720bbe8727582c.png)
2> 有学生的信息录入功能:输入学生个数,并将学生的姓名、分数录入
![](https://i-blog.csdnimg.cn/direct/51d95908f8744c8a87636c8ee54ba758.png)
3> 查看学生信息:输出所有学生姓名以及对应的分数
![](https://i-blog.csdnimg.cn/direct/3d973b6888144d7fb8137f4227c84c00.png)
4> 求出学习最好的学生信息:求最大值
![](https://i-blog.csdnimg.cn/direct/46718ab03aea47e19e558e5efa06b580.png)
5> 按姓名将所有学生进行升序排序
![](https://i-blog.csdnimg.cn/direct/8b2f081dda494fc6ac23e3756c821952.png)
6> 按成绩将所有学生进行升序排序
![](https://i-blog.csdnimg.cn/direct/d4606767e7dc4f3aa76cdcf5a10e7723.png)
![](https://i-blog.csdnimg.cn/direct/9db67234101a4af8a27dad5c14c86664.png)
![](https://i-blog.csdnimg.cn/direct/40e1e81f702a45d79fbb124122e901d3.png)