一(程序)
1.题目:
手动创建一个usr.txt文件,其中存储用户的账户密码,一行一个账户密码,中间用空格隔开。例如:
zhangsan aaaa
lisi bbbb
wangwu cccc
需求如下:
从终端获取一个账户,密码。判断该账户密码是否正确
若账户不存在,则输出账户不存在
若账户存在,密码错误,则输出密码错误
若账户密码均正确,则输出登录成功。
2.运行结果
3.代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void info_in(FILE* fp);
int main(int argc, const char *argv[])
{
FILE* fp=fopen("./user.txt","r");
if(NULL==fp)
{
perror("fopen");
return -1;
}
//输入user文件信息
//info_in(fp);
char get_name[20]="";
char get_pawd[20]="";
printf("please input user-name\n");
scanf("%s",get_name);
getchar();
printf("please input passwd\n");
scanf("%s",get_pawd);
getchar();
char file_name[20]="";
char file_pawd[20]="";
while(1)
{
if(fscanf(fp,"%s %s",file_name,file_pawd)<0)
{
printf("NO user\n");
break;
}
if(strcmp(file_name,get_name)==0)
{
if(strcmp(file_pawd,get_pawd)==0)
printf("passwd success\n");
else
printf("passwd error\n");
break;
}
}
fclose(fp);
return 0;
}
//输入user文件信息
void info_in(FILE* fp)
{
char f_name[20]="";
char f_pawd[20]="";
printf("please input name and passwd Q Q=exit\n");
while(1)
{
scanf("%s %s",f_name,f_pawd);
if(strcmp(f_name,"Q")==0)
break;
getchar();
fprintf(fp,"%s %s\n",f_name,f_pawd);
}
}