请看一下这个错在哪里?
void shanchu_DA(STU a[],int n)/*删除档案*/{
FILE *fp,*fp1;
int i,x,j;
fp=fopen("E:\\学生信息\\学生信息表.txt","r");
for(i=0;i<n;i++)
fscanf(fp,"%s %s %d %d %d %d %d %.2f\n",a[n].num,a[n].name,&a[n].score[0],&a[n].score[1],&a[n].score[2],&a[n].score[3],&a[n].sum,&a[n].aver);
for(j=0;j<n;j++)
printf("%s\t%s\t%d\t%d\t%d\t%d\t%d\t%.2f\n",a[j].num,a[j].name,a[j].score[0],a[j].score[1],a[j].score[2],a[j].score[3],a[j].sum,a[j].aver);
printf("请输入您想删除第几份档案:\n");
scanf("%d",x);
if(x!=n)
{
for(i=x-1;i<n ;i++)
a[i]=a[i+1];
if((fp1=fopen("E:\\学生信息\\学生信息表2.txt","w+"))==NULL)
{
printf("此文件不存在\n");
getch();
exit(1);
}
fprintf(fp1,"学号\t\t姓名\t\t数学\t\t语文\t\t英语\t\tC语言\t\t总分\t\t平均值\n");
for(i=0;i<n-1;i++)
fprintf(fp1,"%s\t\t%s\t\t%d\t\t%d\t\t%d\t\t%d\t\t%d\t\t%.2f\n",a[i].num,a[i].name,a[i].score[0],a[i].score[1],a[i].score[2],a[i].score[3],a[i].sum,a[i].aver);
}
else
{
if((fp1=fopen("E:\\学生信息\\学生信息表2.txt","w+"))==NULL)
{
printf("此文件不存在\n");
getch();
exit(1);
}
fprintf(fp1,"学号\t\t姓名\t\t数学\t\t语文\t\t英语\t\tC语言\t\t总分\t\t平均值\n");
for(i=0;i<n-1;i++)
fprintf(fp1,"%s\t\t%s\t\t%d\t\t%d\t\t%d\t\t%d\t\t%d\t\t%.2f\n",a[i].num,a[i].name,a[i].score[0],a[i].score[1],a[i].score[2],a[i].score[3],a[i].sum,a[i].aver);
}
for(j=0;j<n-1;j++)
printf("%s\t%s\t%d\t%d\t%d\t%d\t%d\t%.2f\n",a[j].num,a[j].name,a[j].score[0],a[j].score[1],a[j].score[2],a[j].score[3],a[j].sum,a[j].aver);
fclose(fp);
fclose(fp1);
}
n是人数,我的意把读出的文件删除的档案覆盖后添加到另一份档案里