功能要求:
輸入十個同學的學號,姓名,四科成績(應用數學,大學英語,Java程序設計,計算機應用基礎)
計算出平均成績.以平均成績降序輸出成績表.
輸出全組各科平均分,最高分和最低分.
輸入姓名查詢成績
#include<stdio.h>
#include<math.h>
#include<string.h>
struct students
{
int num;
char name[20];
int math;
int english;
int java;
int pc;
int aver;
int total;
}
main()
{
int i=0;
int j=0;
int sum=0;
int av;
int choice;
char ch,n[20];
struct students temp;
struct students stu[3];
ml:
clrscr();
printf("*****************WELCOM TO THE STUDENTS INFORMATION System*******************\n");
printf(" * 1:Look for students by name *\n");
printf(" * 2:Check all students' by average high to low *\n");
printf(" * 3:Input students' information *\n");
printf(" * 4:Check every class tall-low *\n");
printf("*****************************************************************************\n");
printf("\n");
printf("GIVE YOU CHOICE:");
scanf("%d",&choice);
if(choice==1)
{
ch1:
clrscr();
printf(" * Look for students by name *\n");
printf("Please input student's Name:");
scanf("%s",&n);
for(i=0;i<=9;i++)
if(strcmp(n,stu[i].name)==0)
break;
if(i<=9)
{
printf("Name Number Math English Java Pc Aver Sum \n");
printf("%s %d %d %d %d %d %d %d\n",stu[i].name,stu[i].num,stu[i].math,stu[i].english,stu[i].java,stu[i].pc,stu[i].aver,stu[i].total);
}
else
printf("NO FOUND!\n");
printf("Did you got what you want?\n");
printf("Do you want to go on? Y or N:\n");
ch=getch();
if(ch=='y'||ch=='Y')
goto ch1;
else
goto ml;
}
/*----------------以下是排序部分,使算法的精華噢!-----------------*/
if(choice==2)
{ clrscr();
printf(" * Check all students' information *\n");
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].aver<stu[i+1].aver)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
printf("Name Number Math English Java Pc Aver Sum \n");
for(i=0;i<10;i++)
printf("%s %d %d %d %d %d %d %d\n",stu[i].name,stu[i].num,stu[i].math,stu[i].english,stu[i].java,stu[i].pc,stu[i].aver,stu[i].total);
getch();
goto ml;
}
/*--------------以上是排序部分,使算法的精華噢!----------------*/
if(choice==3)
{clrscr();
printf(" * Input students' information *\n\n");
while(i<10)
{
printf("Please input student's Name:\n");
scanf("%s",&stu[i].name);
printf("Please input student's Number, Math, English, Java and Pc :\n");
scanf("%d%d%d%d%d",&stu[i].num,&stu[i].math,&stu[i].english,&stu[i].java,&stu[i].pc);
stu[i].total=stu[i].math+stu[i].english+stu[i].java+stu[i].pc;
stu[i].aver=(stu[i].total)/4;
i++;
}
goto ml;
}
if (choice==4)
ch4:
{
clrscr();
printf(" * Check every class tall-low *\n");
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].aver<stu[i+1].aver)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
for(i=0;i<10;i++)
{ sum+=stu[i].math;}
av=sum/10;
sum=0;
printf("The average of Math is: %d\n",av);
printf("The tallest in Math is: The lowest in Math is:\n");
printf("Name Number Math Name Number Math\n");
printf("%s %d %d %s %d %d \n\n",stu[0].name,stu[0].num,stu[0].math,stu[9].name,stu[9].num,stu[9].math);
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].english<stu[i+1].english)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
for(i=0;i<10;i++)
{ sum+=stu[i].english;}
av=sum/10;
sum=0;
printf("The average of English is: %d\n",av);
printf("The tallest in English is: The lowest in English is:\n");
printf("Name Number English Name Number English\n");
printf("%s %d %d %s %d %d \n\n",stu[0].name,stu[0].num,stu[0].english,stu[9].name,stu[9].num,stu[9].english);
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].java<stu[i+1].java)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
for(i=0;i<10;i++)
{ sum+=stu[i].java;}
av=sum/10;
sum=0;
printf("The average of Java is: %d\n",av);
printf("The tallest in Java is: The lowest in Java is:\n");
printf("Name Number Java Name Number Java\n");
printf("%s %d %d %s %d %d \n\n",stu[0].name,stu[0].num,stu[0].java,stu[9].name,stu[9].num,stu[9].java);
for(j=0;j<=9;j++)
for(i=0;i<10-j;i++)
if(stu[i].pc<stu[i+1].pc)
{ temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
for(i=0;i<10;i++)
{ sum+=stu[i].pc;}
av=sum/10;
sum=0;
printf("The average of Pc is: %d\n",av);
printf("The tallest in Pc is: The lowest in Pc is:\n");
printf("Name Number Pc Name Number Pc\n");
printf("%s %d %d %s %d %d \n\n",stu[0].name,stu[0].num,stu[0].pc,stu[9].name,stu[9].num,stu[9].pc);
getch();
goto ml;
}
}