【正文】
for(i=0。 } i++。 student1[i]=student1[j]。jk。 i=0。student1[i],sizeof(struct person),1,fp)) i++。 exit(0)。 printf(wait for a second with patience.\nthe system is exiting.\n)。 if(fp==NULL) { printf(can39。 clrscr()。 struct person student2。 int k。 } Order1(float *p) { FILE *fp。 } } fclose(fp)。 while(fread(amp。) { rewind(fp)。||ch2==39。 if(ch2==39。 ch2=getchar()。)。||ch==39。 }while(ch1==39。 ch1=getchar()。 算法與數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 學(xué)生成績管理系統(tǒng) 10 } printf(Congratulation!you succeed!!!\n)。:Order1(d)。 case 39。:Order1(c)。 case 39。:Order1(b)。 case 39。:Order1(a)。 } switch(ch) { case 39。 ch=getchar()。439。139。 getchar()。 printf(please give a choice:\n)。 printf(* *\n)。 printf(========================\n)。 d[i]=student1[i].average。 b[i]=student1[i].English。ik。 k=i。 while(fread(amp。 } rewind(fp)。 getch()。t open this file.\n)。 fp=fopen(,rb)。 int i。 float a[30],b[30],c[30],d[30]。 char ch2。 } 記錄進(jìn)行排序 Order() { FILE *fp。 return_confirm()。) goto again。||ch1==39。 if(ch1==39。 ch1=getchar()。 if(flag==0) printf( student of reving not existed.\n)。student,sizeof(struct person),1,fp))。 break。 算法與數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 學(xué)生成績管理系統(tǒng) 9 printf(%10s%6ld%%%%%\n,studen,)。 printf(the following is information of student had been revised:\n)。 fwrite(amp。)。||ch==39。 }while(ch==39。 ch1=getchar()。 =。 =atof(numstr)。 ass_revise(chinese)。 gets(numstr)。 =atof(numstr)。 ass_revise(math)。 gets(numstr)。 gets()。639。 break。 gets(numstr)。539。 break。 gets(numstr)。439。 break。 gets(numstr)。339。 break。 gets(numstr)。239。 break。:ass_revise(name)。 } switch(ch) { case 39。 ch=getchar()。139。639。 getchar()。 printf(give a choice:\n)。 printf( \n)。 printf( \n)。 do{ printf(***informations for revising***\n)。 printf(name\t\tnum\tmath\tchinese\tEnglish\tsum\taverage\n)。 if((strcmp(name,))==0) { flag=1。 fread(amp。 gets(name)。 exit(0)。 printf(wait for a second with patience.\nthe system is exiting.\n)。 if(fp==NULL) { printf(can39。 clrscr()。 char numstr[20]。 long offset=sizeof(struct person)。 char ch。 } 在修改學(xué)生記錄操作中 , 系統(tǒng)會先按輸入的學(xué)號或姓名查找該記錄 , 然后提示用戶修改學(xué)號或姓名之外的值 , 但學(xué)號或姓名不能修改。 } } } fclose(fp)。 while(fread(amp。) { rewind(fp)。||ch2==39。 if(ch2==39。 ch2=getchar()。)。||ch==39。 }while(ch==39。 ch=getchar()。 } Loop: getchar()。 i++。 do{ fwrite(amp。 exit(0)。 printf(wait for a second with patience.\nthe system is exiting.\n)。 if(fp==NULL) { printf(can39。 if(flag==1) printf(Congratulation!you succeed!!!\n)。 fclose(fp)。 k=j。) goto Loop。 if(ch==39。 getchar()。 printf(Delete(Y/N)?\n)。 printf(name\t\t\tnum\tchinese\t\tEnglish\t\tmath\tsum\taverage\n)。 j++。 while(fread(amp。 printf(input the name of students you are going to delete.\n)。 j=0。 exit(0)。 printf(wait for a second with patience.\nthe system is exiting.\n)。 if(fp==NULL) 算法與數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 學(xué)生成績管理系統(tǒng) 6 { printf(can39。 clrscr()。 char ch。 char ch1。 int j。 int i。 } Delete() { FILE *fp。 rewind(fp)。 break。 printf(%10s%6ld%%%%8.2f%\n,s,student.math,)。 while(fread(amp。 } else { flag=0。 getch()。t open this file.\n)。 fp=fopen(,rb)。 int t。 char ch。 } fclose(fp)。 } if(t==0) printf( student you are searching not existed.\n)。 t=1。