修改数据无法写入到记事本上
void yan8() //修改学生信息//
{
FILE *fp;
char m[30];
int i,t,j,flag=0;
printf("请输入要修改的的学生学号:") ;
scanf("%s",m);
for(i=0;i<rnum;i++)
{
if(strcmp(m,yan[i].xuehao)==0)
{
flag=1;
break;
}
}
if(!flag==1)
printf("未查到\n");
else
{
loop:
while(t)
{
printf("\n:1学号,2姓名,3性别,4出生年月,5籍贯,6电话,7成绩,0结束\n请输入你要修改的选项序号:");
scanf("%d",&t);
switch (t)
{
case 1:
printf("请输入新的学号:\n");
scanf("%s",m);
strcpy(yan[i].xuehao,m);
goto loop;
case 2:
printf("请输入新的姓名:\n");
scanf("%s",m);
strcpy(yan[i].name,m);
goto loop;
case 3:
printf("请输入新的性别:\n");
scanf("%s",m);
strcpy(yan[i].ser,m);
goto loop;
case 4:
printf("请输入新的出生年月:\n");
scanf("%s",m);
strcpy(yan[i].date,m);
goto loop;
case 5:
printf("请输入新的籍贯:\n");
scanf("%s",m);
strcpy(yan[i].jiguan,m);
goto loop;
case 6:
printf("请输入新的电话:\n");
scanf("%s",m);
strcpy(yan[i].phone,m);
goto loop;
case 7:
printf("请输入新的成绩:\n");
scanf("%d",&j);
yan[i].score=j;
goto loop;
fp=fopen("JK0743.txt","w");
if(fp==NULL)
{
printf("文件打开失败");
exit(0);
}
for(i=0;i<rnum;i++)
{
fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%d\n",
yan[i].xuehao,yan[i].name, yan[i].ser,yan[i].date,yan[i].jiguan, yan[i].phone,yan[i].score);
}
fclose(fp);
printf("数据写入文件成功。\n");
}
if(t==0)
break;
}
}
}
goto尽量不要用。
写入文件的操作。在case 7: 后面被goto跳过了。没有执行。