c
for(j=lenth-1。j>=k。j--)
xs[j+1]=xs[j]。/*一开始j是最大的,往后移一个这样移动避免数据被覆盖*/
/*循环是只循环这一句的*/
xs[k]=s。/*将输入的学生信息加入这个k位置*/
lenth++。/*长度+1*/
//写回
if((fp=fopen("student.dat","wb"))==NULL)
{
printf(" 不能建立文件!!\n")。exit(0)。
}
for(i=0。i<lenth。i++)
fwrite(&xs[i],sizeof(stu),1,fp)。
}
else/*不再数组范围之内*/
{
if((fp=fopen("student.dat","ab"))==NULL)
{
printf(" 不能建立文件!!\n")。exit(0)。
}
fwrite(&s,sizeof(stu),1,fp)。
}
printf("\n 按任意键返回主菜单 ")。
fclose(fp)。
}
//显示
void print()
{
FILE *fp。
student s。
system("cls")。
if((fp=fopen("student.dat","rb"))==NULL)
{
printf(" can't open file!\n")。exit(0)。
}
printf(" 学生成绩表 ")。
printf("\n *****************************************************")。
printf("\n %10s %10s%6s %6s %6s %6s %6s %6s %6s \n","姓名","学号","性别","数学","英语"," 政治"," 语文"," 平均成绩","总成绩")。
while(!feof(fp))
{
fread(&s,sizeof(stu),1,fp)。//从文件中读取成绩信息
if(feof(fp)) break。//判断是否文件尾
printf("\n %10s %6d %6s %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f\n",http://www.77cn.com.cn,s.num,s.sex,s.