手动创建一个usr.txt文档,文档中存储用户的名字和密码,格式如下:
账户 密码,每个账户密码占一行:
zhangsan 12345
lisi abcd
要求:
1.实现登录功能。
2.终端输入账户密码
3.若账户密码均存在,则输出登录成功
4.若账户不存在,则输出账户不存在
5.若密码错误,则输出密码错误
//代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char user_get[20]="",passwd_get[20]="";
printf("请输入账号:");
scanf("%s",user_get);
printf("请输入密码:");
scanf("%s",passwd_get);
FILE *fp = fopen("./usr.txt","r");
if(NULL == fp)
{
perror("fopen");
return -1;
}
while(1)
{
char user[20]="",passwd[20]="";
int ret = fscanf(fp,"%s %s\n",user,passwd);
if(EOF == ret)
{
printf("账号不存在\n");
break;
}
if(strcmp(user,user_get)==0 && strcmp(passwd,passwd_get)==0)
{
printf("登陆成功\n");
break;
}
else if(strcmp(user,user_get)==0 && strcmp(passwd,passwd_get)!=0)
{
printf("密码错误\n");
break;
}
}
fclose(fp);
return 0;
}
//运行结果
zzy@zzy-vm:~/hqrj/IO/day1/account$ ./a.out
请输入账号:zhangsan
请输入密码:123456
登陆成功
zzy@zzy-vm:~/hqrj/IO/day1/account$ ./a.out
请输入账号:lisi
请输入密码:123456
密码错误
zzy@zzy-vm:~/hqrj/IO/day1/account$ ./a.out
请输入账号:zzy
请输入密码:123456
账号不存在
账号密码库usr.txt如下
zhangsan 123456
lisi bcdefg
wangwu abc123