就是我文本里已经保存有了两个个用户名和密码,但输入第二个用户时,显示该账号不存在,但是如果在运行时注册了用户,却能显示该账号是存在的,球球大佬给小弟一个主意
//注册函数
int zhuce()
{
FILE* fp;
char name[30];//用户名
char n[10];//密码
int c;
while(1)
{
printf("注册高级用户,请输入1,注册普通用户,输入0\n");
printf("请输入:");
scanf("%d",&c);
if(c==0)
{
printf("请输入要创建的用户名(不得超过30个字符):");
scanf("%s",name);
printf("请输入6位纯数字密码:");
scanf("%s",n);
if((fp=fopen("zhuce.txt","w+"))==NULL)
{
printf("文件打开失败");
return 0;
}
fprintf(fp,"%s\t%s\n",name,n);
fclose(fp);
printf("\n用户创建成功!!!\n");
return 1;
}
else if(c==1)
{
printf("请输入要创建的用户名(不得超过30个字符):");
scanf("%s",name);
printf("请输入6位纯数字密码:");
scanf("%s",n);
if((fp=fopen("super-user.txt","w+"))==NULL)
{
printf("文件打开失败");
return 0;
}
fprintf(fp,"%s\t%s\n",name,n);
fclose(fp);
printf("\n用户创建成功!!!\n");
return 2;
}
}
}
int Land(int a)//通过输入密码来判断是否为管理者,密码正确即可
{
FILE* fp1;
FILE* fp2;
char name[30];//账号
char n[10];//密码
char zhang[30];//
char mi[10];//
int b;
if(a==1)
{
printf("注册普通用户完毕,请登录\n");
}
if((fp1=fopen("zhuce.txt","r+"))==NULL)
{
printf("打开文件失败");
}
if(a==2)
{
printf("注册高级用户完毕,请登录\n");
}
if((fp2=fopen("super-user.txt","r+"))==NULL)
{
printf("打开文件失败");
}
printf("登录高级用户输入1,登录普通用户输入0\n");
printf("请输入:");
scanf("%d",&b);
if(b==0)
{
fscanf(fp1,"%s\t%s\n",zhang,mi);//从文件中读取已注册的账号密码
printf("请输入用户名:");
scanf("%s",name);
printf("请输入密码:");
scanf("%s",n);
if(strcmp(name,zhang)==0)
{
if(strcmp(n,mi)==0)
return 0;
}
}
if(b==1)
{
fscanf(fp2,"%s\t%s\n",zhang,mi);//从文件中读取已注册的账号密码
printf("请输入用户名:");
scanf("%s",name);
printf("请输入密码:");
scanf("%s",n);
if(strcmp(name,zhang)==0)
{
if(strcmp(n,mi)==0)
return 0;
}
}
else if(a==0)
return -1;