#include <stdlib.h>
#include <stdio.h>
#include <string.h>
struct Account
{
char ID[11];
char name[21];
char password[7];
double remain;
};
typedef struct Account Account;
Account account[9999];
int main()
{
int nownumber=0;
printf("请输入账号:\n");
char ID[]={0};
int i;
do
{
scanf("%s",ID);
for(i=0;i<=nownumber;i++)
{
if(!strcmp(account[i].ID,ID))
{
printf("账号已存在,请重新输入\n");
break;
}
}
}while(!strcmp(account[i].ID,ID));
printf("请输入用户名:\n");
char name[]={0};
scanf("%s",name);
printf("请输入六位数密码:\n");
char pw1[5]={0};
char pw2[5]={0};
scanf("%s",pw1);
printf("请再次输入密码:\n");
scanf("%s",pw2);
while(strcmp(pw1,pw2))
{
printf("!!!密码错误!!!\n");
printf("请输入六位数密码:\n");
scanf("%s",pw1);
printf("请再次输入密码:\n");
scanf("%s",pw2);
}
int IDnumber=nownumber;
strcpy(account[IDnumber].ID,ID);
strcpy(account[IDnumber].name,name);
strcpy(account[IDnumber].password,pw1);
account[IDnumber].remain=5000;
char path0[]="D:\\ATM\\Account_information\\";
char path[]=".txt";
char finalpath1[]={0};
char finalpath2[]={0};
char finalpath3[]={0};
sprintf(finalpath1,"%s%sname%s",path0,account[IDnumber].ID,path);
sprintf(finalpath2,"%s%spassword%s",path0,account[IDnumber].ID,path);
sprintf(finalpath3,"%s%smoney%s",path0,account[IDnumber].ID,path);
FILE *fp;
fp=fopen(finalpath1,"w");
fprintf(fp,"%s",account[IDnumber].name);
fclose(fp);
fp=fopen(finalpath2,"w");
fprintf(fp,"%s",account[IDnumber].password);
fclose(fp);
fp=fopen(finalpath3,"w");
fprintf(fp,"%f",account[IDnumber].remain);
fclose(fp);
nownumber++;
return 0;
}
运行这段代码之后,输入的姓名密码等信息电脑里面没有保存是为什么啊?是哪里出错了呢?谢谢!!
没看见你有保存的语句啊
你printf是写入内存里了
最后你要执行save保存到文件啊