#include<stdio.h>
#include<string.h>
#include<math.h>
struct student
{
int num;
char name[20];
float yuwen;
float gaoshu;
float yingyu;
double zongping;
}stu[4];
void main()
{
void a();
void b();
void c();
void d();
void e();
int n;
while(n!=6)
{
printf("/t 大学生成绩管理系统 /n");
printf("1:输入一个班大学生的成绩/n");
printf("2:显示所有成绩/n");
printf("3:计算平均成绩/n");
printf("4:输出成绩与排名/n");
printf("5:结果存入到 成绩.txt/n");
printf("6:退出系统/n");
printf("输入选项代码:");
scanf("%d",&n);
switch(n)
{
case 1:a();break;
case 2:b();break;
case 3:c();break;
case 4:d();break;
case 5:e();break;
case 6:printf("**************************谢谢使用!**************************/n");
break;
}
}
getchar();
}
void a()
{
int i;
for(i=0;i<4;i++)
{
printf("请输入/n 学号 姓名 语文成绩 高数成绩 英语成绩:/n");
scanf(" %d%s%f%f%f",&stu[i].num,&stu[i].name,&stu[i].yuwen,&stu[i].gaoshu,&stu[i].yingyu);
}
for(i=0;i<4;i++)
stu[i].zongping=stu[i].yuwen+stu[i].gaoshu+stu[i].yingyu;
}
void b()
{
int i;
printf(" 学号 姓名 语文成绩 高数成绩 英语成绩 总评成绩/n");
for(i=0;i<4;i++)
printf("%d%14.2s%14.2f%14.2f%14.2f%14.2f/n",stu[i].num,stu[i].name,stu[i].yuwen,stu[i].gaoshu,stu[i].yingyu,stu[i].zongping);
}
void c()
{
int a[4]={0,1,2,3};
int i,j;
double total=0;
double ave;
for(i=0;i<4;i++)
{
total=total+stu[i].zongping;
}
ave=total/4.0;
printf("总评成绩的平均成绩是%f/n",ave);
}
void d()
{
int a[4]={0,1,2,3};
int i,j,temp;
for(j=0;j<3;j++)
{
for(i=0;i<3-j;i++)
if(stu[a[i]].zongping>stu[a[i]].zongping)
{
temp=a[i];a[i]=a[i+1];
a[i+1]=temp;
}
}
printf("顺序为:/n");
printf(" 学号 姓名 总评成绩/n");
for(i=0;i<4;i++)
printf("%d%10.2s%15.2f/n",stu[a[i]].num,stu[a[i]].name,stu[a[i]].zongping);
printf("/n");
}
void e()
{
int i;
FILE *fp;
fp=fopen("chengji.txt","w");
fprintf(fp," 学号 姓名 语文成绩 高数成绩 英语成绩 总评成绩/n");
for(i=0;i<4;i++)
fprintf(fp,"%d%14.2s%14.2f%14.2f%14.2f%14.2f/n",stu[i].num,stu[i].name,stu[i].yuwen,stu[i].gaoshu,stu[i].yingyu,stu[i].zongping);
printf("/n/n**************************恭喜,保存完整!**************************/n/n");
}