c语言 顺序表 帮我完成下面的操作 实在不会写那
//结构体学生成绩管理系统#include<stdio.h>
#include<string.h>
#define MAX 100
//定义学生相关信息
struct stud
{
int num ; //学号
char name[10]; //姓名
float yy;
float sjk;
float cyy;
float avg;
float pjf;
};
//结构体
struct lxb
{
stud data[MAX];
int len;
};
//主函数
void main()
{
lxb l;
int k,i,n;
l.len=0;
do
{
printf("=====主菜单学生成绩管理系统=====\n");
printf(" 1.学生信息的录入\n");
printf(" 2.学生信息的统计\n");
printf(" 3.学生信息的显示\n");
printf(" 4.学生信息的查找\n");
printf(" 5.退出学生管理系统\n");
printf("================================\n");
printf("请输入选择(1-5) ");
scanf("%d",&n);
if(n<=0||n>=5)
{
printf("系统正在退出,按任意键退出,谢谢!\n");
break;
}
else
{
switch(n)
{
case 1:
while(1)
{
printf("想输入数据吗(-1退出) ");
scanf("%d",&k);
if(k==-1)
break;
else
{
printf("请输入学生相关信息(学号,姓名,英语,数据库,c语言)\n");
scanf("%d%s%f%f%f",&l.data[l.len].num,&l.data[l.len].name,&l.data[l.len].yy,&l.data[l.len].sjk,&l.data[l.len].cyy);
l.len++;
}
}
break;
case 2:
int x;
do
{
printf("=====学生信息的统计=====\n");
printf(" 1.学生成绩的总分\n");
printf(" 2.学生成绩的平均分\n");
printf(" 3.学生成绩的排序\n");
printf(" 4.返回学生信息系统\n");
printf("========================\n");
printf("请输入选择(1-4) ");
scanf("%d",&x);
if(x==4)
{
break;
}
else
{
switch(x)
{
case 1:
printf("学号 姓名 英语 数据库 c语言 总分\n");
for(i=0;i<l.len;i++)
{
l.data[i].avg=l.data[i].yy+l.data[i].sjk+l.data[i].cyy;
printf("%2d%6s%8.0f%8.0f%8.0f%9.1f\n",l.data[i].num,l.data[i].name,l.data[i].yy,l.data[i].sjk,l.data[i].cyy,l.data[i].avg);
}
break;
case 2:
printf("学号 姓名 英语 数据库 c语言 平均分\n");
for(i=0;i<l.len;i++)
{
l.data[i].pjf=l.data[i].avg/3;
printf("%2d%6s%8.0f%8.0f%8.0f%9.1f\n",l.data[i].num,l.data[i].name,l.data[i].yy,l.data[i].sjk,l.data[i].cyy,l.data[i].pjf);
}
break;
case 3:
int y;
do
{
printf("========学生成绩的排序========\n");
printf(" 1.以总分排序(高到低)\n");
printf(" 2.以平均分排序(高到低)\n");
printf(" 3.返回学生信息统计\n");
printf("==============================\n");
printf(" 请输入选择(1--3) ");
scanf("%d",&y);
if(y==3)
{
break;
}
else
{
switch(n)
{
case 1:
break;
case 2:
break;
case 3:
break;
}
}
}while(1);
break;
}
}
}while(1);
break;
case 3:
printf("学号 姓名 英语 数据库 c语言 总分 平均分\n");
for(i=0;i<l.len;i++)
{
printf("%2d%6s%8.0f%8.0f%8.0f%9.1f%8.1f\n",l.data[i].num,l.data[i].name,l.data[i].yy,l.data[i].sjk,l.data[i].cyy,l.data[i].avg,l.data[i].pjf);
}
break;
case 4:
int w;
do
{
printf("=======学生信息的查找=======\n");
printf(" 1.总分最高的学生信息\n");
printf(" 2.总分最低的学生信息\n");
printf(" 3.平均分最高的学生信息\n");
printf(" 4.平均分最低的学生信息\n");
printf(" 5.任意查找某个学生的信息\n");
printf(" 6.返回主菜单学生信息管理\n");
printf("==============================\n");
printf("请输入选择(1--6) ");
scanf("%d",&w);
if(w==6)
{
break;
}
else
{
switch(w)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
int q;
do
{
printf("=====任意某个学生信息的查找=====\n");
printf(" 1.按学号查找\n");
printf(" 2.按姓名查找\n");
printf(" 3.返回信息查找\n");
printf("================================\n");
printf(" 请输入选择(1----3) ");
scanf("%d",&q);
if(q==3)
{
break;
}
else
{
int a=1;
switch(q)
{
case 1:
int xh;
printf("请输入您要查找的学号(数字键0--9): ");
scanf("%d",&xh);
while(l.data[a-1].num!=xh&&a<=l.len)
a++;
if(l.data[a-1].num==xh)
{
l.data[a-1].avg=l.data[a-1].yy+l.data[a-1].sjk+l.data[a-1].cyy;
l.data[a-1].pjf=l.data[a-1].avg/3;
printf("学号 姓名 英语 数据库 c语言 总分 平均分\n");
printf("%2d%6s%8.0f%8.0f%8.0f%9.1f%8.1f\n",l.data[a-1].num,l.data[a-1].name,l.data[a-1].yy,l.data[a-1].sjk,l.data[a-1].cyy,l.data[a-1].avg,l.data[a-1].pjf);
}
else
{
printf("系统里面没有录入改学生的信息\n");
}
break;
case 2:
int j=1;
char n[10];
printf("请输入您要查询的姓名: ");
scanf("%s",&n);
while(strcmp(l.data[j-1].name,n)&&j<=l.len)
j++;
if(strcmp(l.data[j-1].name,n)==0)
{
l.data[j-1].avg=l.data[j-1].yy+l.data[j-1].sjk+l.data[j-1].cyy;
l.data[j-1].pjf=l.data[j-1].avg/3;
printf("学号 姓名 英语 数据库 c语言 总分 平均分\n");
printf("%2d%6s%8.0f%8.0f%8.0f%9.1f%8.1f\n",l.data[j-1].num,l.data[j-1].name,l.data[j-1].yy,l.data[j-1].sjk,l.data[j-1].cyy,l.data[j-1].avg,l.data[j-1].pjf);
}
else
{
printf("系统里面没有录入该学生信息\n");
}
break;
}
}
}while(1);
break;
case 6:
break;
}
}
}while(1);
break;
}
}
}while(1);
}