问题描述
voidclear(){charh,x='';inti;printf("是否清空所有记录?按y确定:");fflush(stdin);scanf("%c",&h);if(h=='Y'||h=='y'){for(i=0;i<tex;i++){strcpy(stu[i].number,"");strcpy(stu[i].name,"");strcpy(stu[i].classes,"");stu[i].a=NULL;stu[i].b=NULL;stu[i].c=NULL;}tex=0;}else{welcome();}printf("已经清空所有的记录:n");for(i=0;i<tex;i++){if(strcmp(stu[i].number,"")!=0){printf("tt%st%st%st%dt%dt%dt%d",stu[i].number,stu[i].name,stu[i].classes,stu[i].a,stu[i].b,stu[i].c,stu[i].h);printf("n");}}printf("按Y返回:");do{fflush(stdin);scanf("%c",&x);}while(x!='y'&&x!='Y');welcome();}/****************按要求查询********************/voidfind(){inta,i;charm[9];charn[20];charj[5];chart='';system("cls");printf("tt您可以:n");printf("tt1.按学号查询!n");printf("tt2.按姓名查询!n");printf("tt3.按班级查询!n");scanf("%d",&a);switch(a){case1:printf("请输入学号:");scanf("%s",m);printf("tt学号t姓名t班级t语文t数学t英语t总分n");for(i=0;i<tex;i++){if(strcmp(m,stu[i].number)==0){printf("tt%st%st%st%dt%dt%dt%d",stu[i].number,stu[i].name,stu[i].classes,stu[i].a,stu[i].b,stu[i].c,stu[i].h);printf("n");break;}}if(i==tex){printf("没有找到!n");}printf("按Y返回!n");while(t!='Y'&&t!='y'){fflush(stdin);scanf("%c",&t);}welcome();break;case2:printf("请输入姓名:");scanf("%s",n);printf("tt学号t姓名t班级t语文t数学t英语t总分n");for(i=0;i<tex;i++){if(strcmp(n,stu[i].name)==0){printf("tt%st%st%st%dt%dt%dt%d",stu[i].number,stu[i].name,stu[i].classes,stu[i].a,stu[i].b,stu[i].c,stu[i].h);printf("n");break;}}if(i==tex){printf("没有找到!n");}printf("按Y返回!n");while(t!='Y'&&t!='y'){fflush(stdin);scanf("%c",&t);}welcome();break;case3:printf("请输入班级:");scanf("%s",j);printf("tt学号t姓名t班级t语文t数学t英语t总分n");for(i=0;i<tex;i++){if(strcmp(j,stu[i].classes)==0){printf("tt%st%st%st%dt%dt%dt%d",stu[i].number,stu[i].name,stu[i].classes,stu[i].a,stu[i].b,stu[i].c,stu[i].h);printf("n");}}printf("按Y返回!n");while(t!='Y'&&t!='y'){fflush(stdin);scanf("%c",&t);}welcome();break;default:find();break;}}/****************按要求排序*********************/voidsort(){intj,i,x;charh;intk;structstudentft;printf("您可以按照以下要求排序:n");//printf("4.按照姓氏n");printf("1.按照学号n");printf("2.按照语文成绩n");printf("3.按照总分n");scanf("%d",&j);switch(j){case1:for(k=0;k<tex;k++){for(i=0;i<tex-1;i++){if(strcmp(stu[i].number,stu[i+1].number)>0){ft=stu[i];stu[i]=stu[i+1];stu[i+1]=ft;}}}system("cls");printf("排序以后:n");printf("tt学号t姓名t班级t语文t数学t英语t总分n");for(i=0;i<tex;i++){printf("tt%st%st%st%dt%dt%dt%d",stu[i].number,stu[i].name,stu[i].classes,stu[i].a,stu[i].b,stu[i].c,stu[i].h);printf("n");}do{printf("按N返回:");fflush(stdin);scanf("%c",&h);}while(h!='N'&&h!='n');welcome();break;case2:for(x=0;x<tex;x++){for(i=0;i<tex-1;i++){if(stu[i].a<stu[i+1].a){ft=stu[i];stu[i]=stu[i+1];stu[i+1]=ft;}}}system("cls");printf("排序以后:n");printf("tt学号t姓名t班级t语文t数学t英语t总分n");for(i=0;i<tex;i++){printf("tt%st%st%st%dt%dt%dt%d",stu[i].number,stu[i].name,stu[i].classes,stu[i].a,stu[i].b,stu[i].c,stu[i].h);printf("n");}do{printf("按N返回:");fflush(stdin);scanf("%c",&h);}while(h!='N'&&h!='n');welcome();break;case3:for(x=0;x<tex;x++){for(i=0;i<tex-1;i++){if(stu[i].h<stu[i+1].h){ft=stu[i];stu[i]=stu[i+1];stu[i+1]=ft;}}}system("cls");printf("排序以后:n");printf("tt学号t姓名t班级t语文t数学t英语t总分n");for(i=0;i<tex;i++){printf("tt%st%st%st%dt%dt%dt%d",stu[i].number,stu[i].name,stu[i].classes,stu[i].a,stu[i].b,stu[i].c,stu[i].h);printf("n");}do{printf("按N返回:");fflush(stdin);scanf("%c",&h);}while(h!='N'&&h!='n');welcome();break;default:system("cls");sort();break;}}/****************按要求统计成绩****************/voidstatistics(){inti,j;charh;printf("您可以选择:n");printf("1.语文没有及格的:n");printf("2.数学没有及格的:n");printf("3.英语没有及格的:n");scanf("%d",&j);switch(j){case1:printf("没有及格的学生有:");for(i=0;i<tex;i++){if(stu[i].a<60){printf("t%s",stu[i].name);}}printf("n按Y继续按N返回:");fflush(stdin);scanf("%c",&h);if(h=='N'||h=='n'){welcome();}else{statistics();}break;case2:printf("没有及格的学生有:");for(i=0;i<tex;i++){if(stu[i].b<60){printf("t%s",stu[i].name);}}printf("n按Y继续按N返回:");fflush(stdin);scanf("%c",&h);if(h=='N'||h=='n'){welcome();}else{statistics();}break;case3:printf("没有及格的学生有:");for(i=0;i<tex;i++){if(stu[i].c<60){printf("t%s",stu[i].name);}}printf("n按Y继续按N返回:");fflush(stdin);scanf("%c",&h);if(h=='N'||h=='n'){welcome();}else{statistics();}break;default:statistics();break;}}