#include<stdio.h>
#include<string.h>
#include<math.h>
struct student
	{
		int num;
		char name[20];
		float pingshi;
		float shiyan;
		float kaoshi;
		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ļchengji.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*******************ллʹã*******************\n");break;
			break;    
		}	
	}
getchar();
}
/*     */
void a() /* һѧ¼*/

{
	int i;

	for(i=0;i<4;i++)

	{   

		printf("ѧ  ƽʱɼ ʵɼ Գɼ");

		scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].pingshi,&stu[i].shiyan,&stu[i].kaoshi);
		
	}for(i=0;i<4;i++)
stu[i].zongping=0.1*stu[i].pingshi+0.3*stu[i].shiyan+0.6*stu[i].kaoshi;
}
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].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);

}

void c()/* ȫƽɼʾ*/
{  
	int a[4]={0,1,2,3};
    int i,j;
    double total=0,pfc=0,bzc=0;
    double ave;
    for(i=0;i<4;i++)
	{
		total=total+stu[i].zongping;
	}
    ave=total/4.0;
    printf("ƽɼ%f\n",ave);
	for(i=0;i<4;i++)
	{
		pfc=pow((stu[i].zongping-ave),2)/4;
	}
	bzc=sqrt(pfc);
	printf("\nƽ%f\n",pfc);
	printf("\n׼%f\n",bzc);
}
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+1]].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].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);

printf("\n\n*******************ϲɣ*******************\n\n");
}







