【正文】
=atof(numstr)。 ass_revise(English)。 gets(numstr)。 =atol(numstr)。 ass_revise(num)。:ass_revise(total)。 case 39。 =atof(numstr)。:ass_revise(chinese)。 case 39。 =atof(numstr)。:ass_revise(English)。 case 39。 =atof(numstr)。:ass_revise(math)。 case 39。 =atol(numstr)。:ass_revise(num)。 case 39。 gets()。139。 getchar()。) { printf( put is wrong.\nplease input another choice:\n)。||ch39。 while(ch39。 ch=getchar()。 printf(====================================\n)。 printf( \n)。 printf(====================================\n)。 printf(%10s%6ld%%%%%\n,inese,)。 printf(the following is information of student being deleted:\n)。student,sizeof(struct person),1,fp)。 do{ flag=0。 } 算法與數據結構課程設計 學生成績管理系統(tǒng) 18 else { again: printf(name of rivesing student:\n)。 getch()。t open this file.\n)。 fp=fopen(,rb+)。 char name[20]。 int flag=0。 char ch1。 } Revise() { FILE *fp。 } } } fclose(fp)。 while(fread(amp。) { rewind(fp)。||ch2==39。 if(ch2==39。 ch2=getchar()。)。||ch==39。 }while(ch==39。 ch=getchar()。 } Loop: getchar()。 i++。 算法與數據結構課程設計 學生成績管理系統(tǒng) 17 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) { printf(can39。 clrscr()。 char ch。 char ch1。 int j。 int i。 } Delete() { FILE *fp。 rewind(fp)。 break。 printf(%10s%6ld%%%%%\n,stude,)。 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。student,sizeof(struct person),1,fp)) if(num==) { printf(name\t\tnum\tchinese\tEnglish\tmath\sum\taverage\n)。 t=0。 exit(0)。 printf(wait for a second with patience.\nthe system is exiting.\n)。 if(fp==NULL) { printf(can39。 clrscr()。 int flag=0。 } } Search2(long num) { 算法與數據結構課程設計 學生成績管理系統(tǒng) 14 FILE *fp。Y39。y39。 getchar()。 printf(GO ON SEARCHING BY NUM(Y/N)?\n)。 num=atol(numstr)。: do{ Loop2: printf(input the num of students you want to search:\n)。 case 39。) goto Loop2。||ch3==39。 if(ch3==39。 ch3=getchar()。)。||ch2==39。 }while(ch2==39。 ch2=getchar()。 Search1(name)。:do{ Loop1: printf(input the name of students you want to search:\n)。 } switch(choice) { case 39。 choice=getchar()。139。239。 getchar()。 printf(give your choice:\n)。 printf(** **\n)。 printf(\n)。 clrscr()。 long num。 char ch4。 char ch2。 } Search() { char choice。 return_confirm()。) Listall()。||ch2==39。 if(ch2==39。 ch2=getchar()。)。||ch==39。 }while(ch==39。 ch=getchar()。 N++。 fwrite(amp。 =++。 gets(numstr)。 =atof(numstr)。 printf(\nyour English:)。 gets(numstr)。 =atol(numstr)。 printf(\nyour num:)。 算法與數據結構課程設計 學生成績管理系統(tǒng) 12 } else { do{ printf(your name:)。 getch()。t open this file.\n)。 fp=fopen(,ab)。 struct person student2。 char ch2。 Enter() { FILE *fp。 }student。 float average。 float English。 long num。 return_confirm()。)。||ch==39。 }while(ch==39。 ch=getchar()。student,sizeof(struct person),1,fp)) { printf(%10s%6ld%%%%%\n,studen,)。 printf(name\t\t\tnum\tchinese\t\tEnglish\t\tmath\tsum\taverage\n)。 exit(0)。 算法與數據結構課程設計 學生成績管理系統(tǒng) 11 printf(wait for a second with patience.\nthe system is exiting.\n)。 if(fp==NULL) { printf(can39。 int k。 struct person student1[30]。 Listall() { FILE *fp。 } fclose(fp)。i++) fwrite(amp。