qq_44143638
qq_44143638
2019-01-06 14:19

为什么C语言中字符串从文件中调用出来后会和键盘上输入的不相等?

  • c语言

问题出现在第二个定义的函数内
#include
#include
#include

void BUILD()
{
int a;
printf("请选择是否在我行开户(如果是请输入1,退出请输入0)请输入:\n");
scanf("%d",&a);
if(a==1)
{
int c,d;
char b[11],e[11];
printf("请输入您的姓名:\n");
scanf("%s",b);
printf("请输入您的电话号码:\n");
scanf("%s",e);
printf("请输入您的6位密码:\n");
scanf("%6d",&c);
printf("请确认您的6位密码:\n");
scanf("%6d",&d);
if(c==d && c>99999 && d>99999)
{
printf("恭喜您开户成功。\n");
printf("为了方便您的使用,您的账号与您的电话号码一致即:%s",e);
FILE*fp;
fp=fopen("账户","a+");
{
fprintf(fp,"%s\n",e);
}
fclose(fp);
FILE*str;
str=fopen("密码","a+");
{
fprintf(str,"%6d\n",d);
}
fclose(str);
}
else
printf("对不起,您的密码两次输入不同或密码位数不对,请重新开始。");
}

}

void ENTER()
{
char a[10],c[10];
int b,d;
FILE*fp;
fp=fopen("账户","r+");
fseek(fp,0L,0);
fscanf(fp,"%s",&a);
printf("%s",a);
rewind(fp);
fclose(fp);
FILE*str;
str=fopen("密码","r+");
fseek(str,0L,0);
fscanf(str,"%6d",&b);
rewind(str);
fclose(str);
printf("请输入您的银行账户:\n");
scanf("%d",&c[10]);
printf("请输入您的密码:\n");
scanf("%6d",&d);
if(a!=c)
{
printf("对不起,您输入的账户有误。\n");
}
else
if(d!=b)
{
printf("对不起,您的密码输入有误,请重试。\n");
}
else
{
printf("请选择您要办理的业务序号:\n");
printf("1.存款 2.取款 3.余额查询\n");
}
}
int main()
{
int f;
printf("欢迎来到银联。\n");
printf("请选择您要办理的业务序号:");
printf("1.创建银行账户。 2.个人业务办理\n");
scanf("%d",&f);
if(f==1)
BUILD();
if(f==2)
ENTER();
}

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答