?
#include<my_head.h>
//定义注册函数***************************************************
int do_register()
{
? ? //以追加的形式打开文件
? ? FILE *wfp = 0;
? ? char name[20];
? ? char pwd[20];
? ? printf("请输入注册账号:");
? ? fgets(name,sizeof(name),stdin);
? ? name[strlen(name)-1] = 0;
? ? printf("请输入注册密码:");
? ? fgets(pwd,sizeof(pwd),stdin);
? ? pwd[strlen(pwd)-1] = 0;
? ? //打开文件
? ? if((wfp = fopen("./usr.txt","a+")) == 0)
? ? {
? ? ? ? perror("fopen");
? ? ? ? return -1;
? ? }
? ? //将注册账号和密码写入到文件中
? ? fprintf(wfp,"%s %s\n",name,pwd);
? ? //关闭文件
? ? fclose(wfp);
? ? printf("注册成功\n");
}
//定义登录函数*****************************************************
int do_login()
{
? ? //定义容器,存放账号密码
? ? char input_name[20];
? ? char input_pwd[20];
? ? char file_name[20];
? ? char file_pwd[20];
? ? FILE *rfp = 0;
? ? printf("请输入登录账号:");
? ? fgets(input_name,sizeof(input_name),stdin);
? ? input_name[strlen(input_name)-1] = 0;
? ? printf("请输入登录密码:");
? ? fgets(input_pwd,sizeof(input_pwd),stdin);
? ? input_pwd[strlen(input_pwd)-1] = 0;
? ? //打开文件
? ? if((rfp = fopen("./usr.txt","a+")) == 0)
? ? {
? ? ? ? perror("fopen");
? ? ? ? return -1;
? ? }
? ??
? ? while(1)
? ? {
? ? ? ? int res = fscanf(rfp,"%s %s",file_name,file_pwd);
? ? ? ? if(res <0)
? ? ? ? {
? ? ? ? ? ? printf("登录失败\n");
? ? ? ? ? ? return 1;
? ? ? ? }
? ? ? ? if(strcmp(input_name,file_name) == 0 &&strcmp(input_pwd,file_pwd) == 0)
? ? ? ? {
? ? ? ? ? ? printf("登录成功\n");
? ? ? ? ? ? return 0;
? ? ? ? }
? ? }
}
/******************************* 主程序 **********************************/
int main(int argc, const char *argv[])
{
? ? char menu;
? ? while(1)
? ? {
? ? ? ? printf("\t\t==== 1 注册 ====\n");
? ? ? ? printf("\t\t==== 2 登录 ====\n");
? ? ? ? printf("\t\t==== 0 退出 ====\n");
? ? ? ? printf("请输入选项:");
? ? ? ? scanf("%c",&menu);
? ? ? ? while(getchar() != '\n');
? ? ? ? switch(menu)
? ? ? ? {
? ? ? ? ? ? case'1':
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? do_register();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case'2':
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? do_login();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case'0':
? ? ? ? ? ? ? ? exit(EXIT_SUCCESS);
? ? ? ? ? ? default:printf("输入有误,请重新输入!!!\n");
? ? ? ? }
? ??
? ? ? ? printf("输入任意键按回车清屏!!!\n");
? ? ? ? while(getchar() != '\n');
? ? ? ? system("clear");
? ? }
? ??
? ??
? ? return 0;
}