#include
#include
#include
#include
int flag;
char log[105],admin[105]={"123456"};
void print()
{
system("cls");
puts("1.Login(L)");
puts("2.Register(R)");
puts("3.Exit(E)");
if(flag)
printf("Logined User:%s\n",log);
}
void password(char pass[])
{
getchar();
char t[105],c;
int i=0;
while(1)
{
c=getch();
if(c==13)
{
t[i]=0;
strcpy(pass,t);
puts("");
return;
}
if(c==8&&i>0)
{
t[i--]=0;
putchar(c);
putchar(' ');
putchar(c);
continue;
}
if(c>=32&&c<=126)
{
t[i++]=c;
putchar('*');
}
}
}
int login()
{
char user[105],pass[105],ut[105],pt[105];
int n=0;
while(1)
{
int f=0;
FILE *in=fopen("recoder.dat","rb");
printf("User Name:");
scanf("%s",user);
printf("Password:");
password(pass);
while(!feof(in))
{
fscanf(in,"%s%s",ut,pt);
if(!strcmp(user,ut))
f=1;
if(f&&!strcmp(pass,pt))
{
fclose(in);
strcpy(log,user);
return 1;
}
else if(f)
break;
}
if(f)
puts("Wrong Password!");
else
puts("No User");
n++;
if(n>3)
{
fclose(in);
return 0;
}
}
return 0;
}
void Register()
{
int n=0;
char user[105],pass[105];
while(1)
{
printf("Admin Password:");
password(pass);
if(!strcmp(pass,admin))
break;
n++;
puts("Wrong Password!");
if(n>3)
return;
}
FILE *out=fopen("recoder.dat","ab");
printf("User Name:");
scanf("%s",user);
fprintf(out,"%s ",user);
printf("Password:");
scanf("%s",pass);
fprintf(out,"%s ",pass);
puts("sucess");
fclose(out);
}
int main()
{
while(1)
{
char op[2];
print();
scanf("%s",op);
if(op[0]=='1'||op[0]=='l'||op[0]=='L')
{
if(login())
{
puts("sucess");
flag=1;
}
}
if(op[0]=='2'||op[0]=='r'||op[0]=='R')
{
Register();
}
if(op[0]=='3'||op[0]=='e'||op[0]=='E')
return 0;
}
}
//管理员密码是123456