十万火急!!求救帮忙检查一下这个程序的错误,谢谢!
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
struct card
{
__int64 cardid ;
long int pwd ;
char name ;
char id ;
double money ;
}
card[1000];
int counts=0,loginf=0 ;
__int64 temp ;
FILE*fp ;
//所有数据写入文件
void write_file()
{
int i ;
FILE*f;
f=fopen("card1.dat","wb");
for(i=0;i <counts;i++)
fprintf(f,"%I64d %ld %s %s %f\n",card[i].cardid,card[i].id,card[i].money,card[i].name,card[i].pwd);
fclose(f);
}
//从文件读取所有数据
void 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("输入卡号,身份证,姓名,密码(卡号-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;
问题:
这个程序是进入系统申请用户,随机产生用户卡号、自己输入用户名、份证号、卡的密码,然后就保存用户信息。接着就可以登录银行系统,取款啊、缴费等等一些操作了。 但是申请了以后不会保存,就不会读取里面呢数据,就是要解决文件保存、读取就可以了。