学生管理数组文件C语言c.docx
《学生管理数组文件C语言c.docx》由会员分享,可在线阅读,更多相关《学生管理数组文件C语言c.docx(17页珍藏版)》请在冰点文库上搜索。
学生管理数组文件C语言c
#include
#include//forsystem("cls")
#include//forgetche()andgetch()
/*定义学生结构体*/
typedefstruct//Student
{
charID[20];
charName[20];
floatMath;
floatEnglish;
floatComputer;
floatAverage;
floatSum;
}Student;
/*声明学生数组及学生数量*/
Studentstudents[1000];
intnum=0;
/*求平均值*/
floatAvg(Studentstu)
return(stu.Math+stu.English+stu.Computer)/3;
}
/*求总成绩*/
floatSum(Studentstu)
return(stu.Math+stu.English+stu.Computer);
/*通过学号返回数组下标*/
intStudent_SearchByIndex(charid[])
inti;
for(i=0;i{if(strcmp(students[i].ID,id)==0){returni;}}return-1;} /*显示单条学生记录*/voidStudent_DisplaySingle(intindex){printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[index].ID,students[index].Name,students[index].Math,students[index].English,students[index].Computer,students[index].Average,students[index].Sum);} /*查找学生信息*/voidStudent_Search(){charid[20];intindex;printf("请输入要查找的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);Student_DisplaySingle(index);} /*插入学生信息*/voidStudent_Append(){while(1){printf("请输入学号:");scanf("%s",&students[num].ID);getchar();printf("请输入姓名:");scanf("%s",&students[num].Name);getchar();printf("请输入数学成绩:");scanf("%f",&students[num].Math);getchar();printf("请输入英语成绩:");scanf("%f",&students[num].English);getchar();printf("请输入计算机成绩:");scanf("%f",&students[num].Computer);getchar();students[num].Average=Avg(students[num]);students[num].Sum=Sum(students[num]);num++;printf("是否继续?(y/n)");if(getchar()=='n'||getchar()=='N'){break;}}} /*修改学生信息*/voidStudent_Modify(){floatMath,English,Computer;while(1){charid[20];intindex;printf("请输入要修改的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if(index==-1){printf("学生不存在!\n");}else{printf("你要修改的学生信息为:\n");Student_DisplaySingle(index);printf("--请输入新值--\n");printf("请输入学号:");scanf("%s",&students[index].ID);getchar();printf("请输入姓名:");scanf("%s",&students[index].Name);getchar();printf("请输入成绩:");scanf("%f",&students[index].Math);getchar();printf("请输入成绩:");scanf("%f",&students[index].English);getchar();printf("请输入成绩:");scanf("%f",&students[index].Computer);getchar();students[index].Average=Avg(students[index]);students[index].Sum=Sum(students[index]);}printf("是否继续?(y/n)");if(getchar()=='n'||getchar()=='N'){break;}}} /*删除学生信息*/voidStudent_Delete(){inti;while(1){charid[20];intindex;printf("请输入要删除的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if(index==-1){printf("学生不存在!\n");}else{printf("你要删除的学生信息为:\n");Student_DisplaySingle(index);printf("是否真的要删除?(y/n)");if(getchar()=='y'){for(i=index;i{students[i]=students[i+1];}num--;}getchar();}printf("是否继续?(y/n)");if(getchar()=='n'||getchar()=='N'){break;}}} /*按总成绩降排序*/voiddescending_order_by_sum(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按总成绩升排序*/voidascending_order_by_sum(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号降排序*/voiddescending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
if(strcmp(students[i].ID,id)==0)
returni;
return-1;
/*显示单条学生记录*/
voidStudent_DisplaySingle(intindex)
printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");
printf("---------------------------------------------------------------------------\n");
printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[index].ID,students[index].Name,
students[index].Math,students[index].English,students[index].Computer,students[index].Average,students[index].Sum);
/*查找学生信息*/
voidStudent_Search()
charid[20];
intindex;
printf("请输入要查找的学生的学号:
");
scanf("%s",&id);
getchar();
index=Student_SearchByIndex(id);
Student_DisplaySingle(index);
/*插入学生信息*/
voidStudent_Append()
while
(1)
printf("请输入学号:
scanf("%s",&students[num].ID);
printf("请输入姓名:
scanf("%s",&students[num].Name);
printf("请输入数学成绩:
scanf("%f",&students[num].Math);
printf("请输入英语成绩:
scanf("%f",&students[num].English);
printf("请输入计算机成绩:
scanf("%f",&students[num].Computer);
students[num].Average=Avg(students[num]);
students[num].Sum=Sum(students[num]);
num++;
printf("是否继续?
(y/n)");
if(getchar()=='n'||getchar()=='N')
break;
/*修改学生信息*/
voidStudent_Modify()
floatMath,English,Computer;
printf("请输入要修改的学生的学号:
if(index==-1)
printf("学生不存在!
\n");
else
printf("你要修改的学生信息为:
printf("--请输入新值--\n");
scanf("%s",&students[index].ID);
scanf("%s",&students[index].Name);
printf("请输入成绩:
scanf("%f",&students[index].Math);
scanf("%f",&students[index].English);
scanf("%f",&students[index].Computer);
students[index].Average=Avg(students[index]);
students[index].Sum=Sum(students[index]);
/*删除学生信息*/
voidStudent_Delete()
printf("请输入要删除的学生的学号:
printf("你要删除的学生信息为:
printf("是否真的要删除?
if(getchar()=='y')
for(i=index;i{students[i]=students[i+1];}num--;}getchar();}printf("是否继续?(y/n)");if(getchar()=='n'||getchar()=='N'){break;}}} /*按总成绩降排序*/voiddescending_order_by_sum(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按总成绩升排序*/voidascending_order_by_sum(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号降排序*/voiddescending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
students[i]=students[i+1];
num--;
/*按总成绩降排序*/
voiddescending_order_by_sum()
inti,j;
Studenttmp;
for(i=0;i{for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按总成绩升排序*/voidascending_order_by_sum(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号降排序*/voiddescending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按总成绩升排序*/voidascending_order_by_sum(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号降排序*/voiddescending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按总成绩升排序*/voidascending_order_by_sum(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号降排序*/voiddescending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
tmp=students[j-1];
students[j-1]=students[j];
students[j]=tmp;
/*按总成绩升排序*/
voidascending_order_by_sum()
for(i=0;i{for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号降排序*/voiddescending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
for(j=1;j{if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号降排序*/voiddescending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
if(students[j-1].Sum{tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号降排序*/voiddescending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
/*按学号降排序*/
voiddescending_order_by_num()
for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*按学号升排序*/voidascending_order_by_num(){inti,j;Studenttmp;for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
if(strcmp(students[j-1].ID,students[j].ID)<0)
/*按学号升排序*/
voidascending_order_by_num()
for(i=0;i{for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
for(j=1;j{if(strcmp(students[j-1].ID,students[j].ID)<0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}} /*显示学生信息*/voidStudent_List(){inti;printf("%-8s%-8s%-10s%-10s%-15s%-10s%-10s\n","学号","姓名","数学成绩","英语成绩","计算机成绩","平均成绩","总成绩");printf("---------------------------------------------------------------------------\n");for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
/*显示学生信息*/
voidStudent_List()
for(i=0;i{printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);}} /*将学生信息从文件读出*/voidRead_File(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
printf("%-8s%-8s%-10.2f%-10.2f%-15.2f%-10.2f%-10.2f\n",students[i].ID,students[i].Name,
students[i].Math,students[i].English,students[i].Computer,students[i].Average,students[i].Sum);
/*将学生信息从文件读出*/
voidRead_File()
FILE*fp;
if((fp=fopen("Database.txt","rb"))==NULL)
printf("不能打开文件!
return;
if(fread(&num,sizeof(int),1,fp)!
=1)
num=-1;
for(i=0;i{fread(&students[i],sizeof(Student),1,fp);}}fclose(fp);} /*将学生信息写入文件*/ voidWrite_File(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
fread(&students[i],sizeof(Student),1,fp);
fclose(fp);
/*将学生信息写入文件*/
voidWrite_File()
if((fp=fopen("Database.txt","wb"))==NULL)
if(fwrite(&num,sizeof(int),1,fp)!
printf("写入文件错误!
for(i=0;i{if(fwrite(&students[i],sizeof(Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);} //初始化voidinitialize(void){inti=0;Read_File();for(i=0;i<1000;i++){Read_File();strcpy(students[i].ID,"");strcpy(students[i].Name,"");students[i].Math=0.0;students[i].English=0.0;students[i].Computer=0.0;students[i].Average=0.0;students[i].Sum=0.0;}} /*主程序*/intmain(void){charchoice='\0',yes_no='\0';initialize();while(1){system("cls");/*主菜单*/printf("\nManagementforStudents'scores\n");printf("\n-----------------------------------------------\n");printf("|1.Appendrecord|\n");printf("|2.Listrecord|\n");printf("|3.Deleterecord|\n");printf("|4.Modifyrecord|\n");printf("|5.Searchrecord|\n");printf("|6.SortScoreindescendingorderbysum|\n");printf("|7.SortScoreinascendingorderbysum|\n");printf("|8.SortScoreindescendingorderbynum|\n");printf("|9.SortScoreinascendingorderbynum|\n");printf("|W.WritetoaFile|\n");printf("|R.ReadfromaFile|\n");printf("|0.Exit|\n");printf("-----------------------------------------------\n");printf("PleaseInputyourchoice:\n");choice=getche();switch(choice){case'1':printf("\n");Student_Append();break;case'2':printf("\n");Student_List();break;case'3':Student_Delete();break;case'4':printf("\n");Student_Modify();break;case'5':printf("\n");Student_Search();break;case'6':printf("\n");descending_order_by_sum();Student_List();break;case'7':printf("\n");ascending_order_by_sum();Student_List();break;case'8':printf("\n");descending_order_by_num();Student_List();break;case'9':printf("\n");ascending_order_by_num();Student_List();break;case'w':case'W':Write_File();break;case'r':case'R':Read_File();break;case'0':break;default:printf("%c为非法项!\n",choice);break;}if(choice=='0')break;printf("\n要继续选择吗?(Y/N)?\n");do{yes_no=getch();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}
if(fwrite(&students[i],sizeof(Student),1,fp)!
//初始化
voidinitialize(void)
inti=0;
Read_File();
for(i=0;i<1000;i++)
strcpy(students[i].ID,"");
strcpy(students[i].Name,"");
students[i].Math=0.0;
students[i].English=0.0;
students[i].Computer=0.0;
students[i].Average=0.0;
students[i].Sum=0.0;
/*主程序*/
intmain(void)
charchoice='\0',yes_no='\0';
initialize();
system("cls");
/*主菜单*/
printf("\nManagementforStudents'scores\n");
printf("\n-----------------------------------------------\n");
printf("|1.Appendrecord|\n");
printf("|2.Listrecord|\n");
printf("|3.Deleterecord|\n");
printf("|4.Modifyrecord|\n");
printf("|5.Searchrecord|\n");
printf("|6.SortScoreindescendingorderbysum|\n");
printf("|7.SortScoreinascendingorderbysum|\n");
printf("|8.SortScoreindescendingorderbynum|\n");
printf("|9.SortScoreinascendingorderbynum|\n");
printf("|W.WritetoaFile|\n");
printf("|R.ReadfromaFile|\n");
printf("|0.Exit|\n");
printf("-----------------------------------------------\n");
printf("PleaseInputyourchoice:
choice=getche();
switch(choice)
case'1':
printf("\n");
Student_Append();
case'2':
Student_List();
case'3':
Student_Delete();
case'4':
Student_Modify();
case'5':
Student_Search();
case'6':
descending_order_by_sum();
case'7':
ascending_order_by_sum();
case'8':
descending_order_by_num();
case'9':
ascending_order_by_num();
case'w':
case'W':
Write_File();
case'r':
case'R':
case'0':
default:
printf("%c为非法项!
\n",choice);
if(choice=='0')
printf("\n要继续选择吗?
(Y/N)?
do
yes_no=getch();
}while(yes_no!
='Y'&&yes_no!
='y'&&yes_no!
='N'&&yes_no!
='n');
}while(yes_no=='Y'||yes_no=='y');
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2