#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <direct.h>
struct node
{
char name[
22], pwd[
22], re_pwd[
22], sex[
22];
char age[
22];
char phone[
22];
}s;
int recog_pwd(
char name[
22],
char pwd[
22]);
int save();
int recog_pwd2(
char name[
22],
char pwd[
22]);
void LOGIN(
int a);
int main()
{
printf(
" 登录界面\n\n");
printf(
" 1: 管理员登录\n");
printf(
" 2: 借阅者登录\n\n");
int a;
printf(
" Please Enter Choose:");
scanf(
"%d", &a);
system(
"cls");
printf(
"\n");
LOGIN(a);
return 0;
}
int recog_pwd(
char name[
22],
char pwd[
22])
{
FILE *fp;
char str[
22];
if((fp=fopen(
"管理员.txt",
"r"))==NULL)
{
printf(
"用户不存在\n");
return 0;
}
fscanf(fp,
"%s", str);
if(
strcmp(str, name)==
0)
{
fscanf(fp,
"%s", str);
if(
strcmp(str, pwd)==
0)
{
return 1;
}
else
{
return 0;
}
}
return 0;
}
int save()
{
FILE*fp;
fp=fopen(
"用户.txt",
"at");
fprintf(fp,
"%s ", s.name);
fprintf(fp,
"%s ", s.pwd);
fprintf(fp,
"%s ", s.re_pwd);
fprintf(fp,
"%s ", s.age);
fprintf(fp,
"%s ", s.sex);
fprintf(fp,
"%s\n", s.phone);
fclose(fp);
return 1;
}
int recog_pwd2(
char name[
22],
char pwd[
22])
{
FILE *fp;
char str[
222], name1[
22], pwd1[
22];
if((fp=fopen(
"用户.txt",
"r"))==NULL)
{
printf(
"用户不存在\n");
return 0;
}
while(!feof(fp))
{
fscanf(fp,
"%s", name1);
fscanf(fp,
"%s", pwd1);
if(
strcmp(name, name1)==
0&&
strcmp(pwd, pwd1)==
0)
{
return 1;
}
fgets(str,
222, fp);
}
fclose(fp);
return 0;
}
void LOGIN(
int a)
{
int i;
if(a==
1)
{
int flag=
1;
while(flag==
1)
{
char name[
22], pwd[
22];
printf(
"用户名: ");
scanf(
"%s", name);
printf(
"密码: ");
scanf(
"%s", pwd);
printf(
"正在登录,请稍后\n");
for(i=
0; i<
17; i++)
{
printf(
"...");
Sleep(
50);
}
if(recog_pwd(name, pwd)==
1)
{
printf(
"登录成功!\n");
flag=
0;
}
else
{
printf(
"登录失败!\n请重新登录\n");
}
}
}
if(a==
2)
{
printf(
"1: 新用户注册\n");
printf(
"2: 直接登录\n");
int b;
printf(
"Please Enter Choose:");
scanf(
"%d", &b);
system(
"cls");
printf(
"\n");
if(b==
1)
{
int flag=
1;
while(flag==
1)
{
printf(
"用户名:");
scanf(
"%s", s.name);
printf(
"\n");
printf(
"密码:");
scanf(
"%s", s.pwd);
printf(
"\n");
char re_pwd[
22];
int flag1=
1;
while(flag1==
1)
{
printf(
"确认密码:");
scanf(
"%s", re_pwd);
if(
strcmp(re_pwd, s.pwd)==
0)
{
strcpy(s.re_pwd, re_pwd);
flag1=
0;
}
else
{
printf(
"前后密码不一致,请重新输入\n");
}
}
printf(
"\n");
printf(
"年龄:");
scanf(
"%s", s.age);
printf(
"\n");
printf(
"性别:");
scanf(
"%s", s.sex);
printf(
"\n");
printf(
"联系方式:");
scanf(
"%s", s.phone);
printf(
"\n");
if(save()==
1)
{
printf(
"注册成功!\n");
flag=
0;
}
else
{
printf(
"注册失败!\n请重新注册:\n");
}
}
}
if(b==
2)
{
char name[
22], pwd[
22], re_pwd[
22];
int flag1=
1;
while(flag1==
1)
{
printf(
"用户名:");
scanf(
"%s", name);
printf(
"\n");
printf(
"密码:");
scanf(
"%s", pwd);
printf(
"\n");
int flag=
1;
while(flag==
1)
{
printf(
"确认密码:");
scanf(
"%s", re_pwd);
if(
strcmp(re_pwd, pwd)==
0)
{
flag=
0;
}
else
{
printf(
"请重新确定密码:\n");
}
}
printf(
"\n");
if(recog_pwd2(name, pwd)==
1)
{
printf(
"登录成功!\n");
flag1=
0;
}
else
{
printf(
"登录失败!\n请重新登录\n");
}
}
}
system(
"cls");
}
}