一个学生学籍管理系统,删除信息那一段有错误,不会改0
void Deletenum () //删除已存信息函数
{
int i,j;
char num[10];
FILE *fp;
fp=fopen("message.txt","r");
printf(" 请输入要删除记录号:");
scanf("%s",num);
for(j=0;j
fread(&stu[N],sizeof(struct student),1,fp);
for(j=0;j
if(strcmp(num,stu[j].num)==0)
break;
if(j
for(i=j;i
{
strcpy(stu[i].name,stu[i+1].name);
strcpy(stu[i].num,stu[i+1].num);
strcpy(stu[i].sex,stu[i+1].sex);
stu[i].age=stu[i+1].age;
strcpy(stu[i].address,stu[i+1].address);
strcpy(stu[i].Class,stu[i+1].Class);
strcpy(stu[i].apartment,stu[i+1].apartment);
strcpy(stu[i].major,stu[i+1].major);
strcpy(stu[i].state,stu[i+1].state);
}
else
printf("\n !\n\n");
fp=fopen("message.txt","r");
if(fp==NULL)
{
printf("\n 打文件失败!\n");
}
for(i=0;i
fprintf(fp,"%10s%4s%4s%2d%4s%4s%2s%4s\n",stu[i].num,stu[i].name,
stu[i].sex,stu[i].age,stu[i].address,stu[i].apartment,stu[i].Class, stu[i].major,stu[i].state);
fclose(fp);
}