當前位置:編程學習大全網 - 編程語言 - 某c語言班***有10名學生,試編程完成下列要求,並驗證:a.編寫壹個函數datainput,實現從鍵盤上錄入10名學生的

某c語言班***有10名學生,試編程完成下列要求,並驗證:a.編寫壹個函數datainput,實現從鍵盤上錄入10名學生的

學生成績管理

功能要求:

輸入十個同學的學號,姓名,四科成績(應用數學,大學英語,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;

}

}

  • 上一篇:數控車床(CJK6153)的主要技術規格是哪些
  • 下一篇:壹個簡單的JAVA編程題,跪求急等,後天交作業。
  • copyright 2024編程學習大全網