void save (struct stu *head) { FILE *fp,*fpp; if (((fp=fopen (filenameB,"at"))==NULL)||((fpp=fopen (filename,"at"))==NULL)) { printf ("文件创建失败,请按任意键继续..."); getch(); system( "cls "); } while (head!=NULL) // 循环将信息写入文件 { fwrite(head,sizeof (struct stu ),1,fp); fprintf(fpp," 学号\t 姓名\t%s\t等级\t%s\t等级\t%s\t等级\t总分\t平均分\n",sub1,sub2,sub3); fprintf(fpp,"%d %s\t%.1f\t %c\t%.1f\t %c\t%.1f\t %c\t%.1f\t%.2f\n\n",head->num,head->name,head->s[0],head->dj[0],head->s[1],head->dj[1],head->s[2],head->dj[2],head->sum,head->ave); head=head->next ; } fclose (fp); fclose(fpp); printf ("\n\n成绩已保存完毕,感谢您的使用!请按任意键继续..."); getch (); system( "cls "); }