c
printf("\n %10s %6d %6s %6.2f %6.2f %6.2f %6.2f %6.2f\n",http://www.77cn.com.cn,xs.num,xs.sex,xs.math,xs.y ingyu,xs.zhengzhi,xs.ywen,xs.aver,xs.sum)。
fseek(fp,sizeof(stu),1)。/*负号表示后退,1表示文件当前位置*/
fwrite(&xs,sizeof(stu),1,fp)。/*再写入,同时把要修改的那个覆盖掉*/
}
else
printf("\n 学生不存在,修改失败!!")。
fclose(fp)。
printf("\n 按任意键返回主菜单 ")。
getch()。
}
//插入:输入学生的平时的各项成绩,插入到指定位置;当指定的位置超出范围时,将其插入到全班的最后,并显示插入成功后的结果。
void insert()
{
int i=0,j,k,lenth。
FILE *fp。
student s,xs[N]。
system("cls")。
printf("\n 请输入插入的学生的姓名:")。scanf("%s",&http://www.77cn.com.cn)。
printf("\n 学生的学号:")。scanf("%d",&s.num)。
printf("\n 学生的性别:")。scanf("%s",&s.sex)。
printf("\n 数学成绩:")。scanf("%f",&s.math)。
printf("\n 英语成绩:")。scanf("%f",&s.yingyu)。
printf("\n 政治成绩:")。scanf("%f",&s.zhengzhi)。
printf("\n 语文成绩:")。scanf("%f",&s.ywen)。
s.aver=(s.math+s.yingyu+s.zhengzhi+s.ywen)/4。
s.sum= s.math+s.yingyu+s.zhengzhi+s.ywen。
printf("\n 插入位置:")。scanf("%d",&k)。
// i=0。
if((fp=fopen("student.dat","rb"))==NULL)
{
printf(" can't open file!\n")。exit(0)。
}
while(!feof(fp))
{
fread(&xs[i],sizeof(stu),1,fp)。/*把数据读入到结构体数组中*/
if(feof(fp)) break。
i++。
}
fclose(fp)。
lenth=i。
if(k<lenth && k>=0)/*k的位置要位于数组范围之内*/
{//插入