200分求人帮忙改C语言程序错误,自己写的,找不出问题了。急着交作业啊~

来源:百度知道 编辑:UC知道 时间:2024/06/02 09:16:20
由于这里字数限制,所以只能存到网盘了。
http://pickup.mofile.com/7519648211470109
提取码:7519648211470109

里面注释什么的基本都有,现在卡在读取文件以后不会返回主函数循环。
哪位能帮我改改,多谢~

看了下...恩可以把函数定义为有返回值的

int readfile()
{
int i=0 ;
fp=fopen("card1.dat","rb");
//如果已经存在
if(fp!=NULL)
{
printf("文件已经存在!数据读入……\n");
while(fscanf(fp,"%I64d%s%f%s%ld",&card[i].cardid,&card[i].id,&card[i].money,&card[i].name,&card[i].pwd)!=EOF)
{
i++;
counts=i ;
}
fclose(fp);
return;
}
fp=fopen("card1.dat","wb");
printf("输入卡号,姓名,金额,挂失信息(0/1)(卡号-1表示输入结束!):\n");
while(scanf("%I64d%s%s%ld",&card[i].cardid,&card[i].id,&card[i].name,&card[i].pwd),card[i].cardid!=-1)
card[i].money=0;
i++;
counts=i ;
fclose(fp);
write_file();
return 1;
}

还有 要多注意下编程风格 恩的那个switch看得我眼都花了..嘿嘿

既然readfile()是不需要返回值的你就不要加return
为什么你要在readfile()后面再write_file()一下呢,readfile()中不是已经有wri