📄 login.c
字号:
#include "user.h"
#include "Admin.c"
#include "Guest.c"
void main()
{
FILE *fp=NULL;
user Show;
user TempS;
char DataFile[10]="yonghu";/* 存放顾客信息的文件 */
int i;
char relogin;/* 是否重新登录 */
int success=0;/* 登录是否成功的标志 */
printf("#================================================#\n");
printf("# Welcom to the Product Management System #\n");
printf("#================================================#\n");
again:
/* 输入用户名 */
printf("Please enter the user name:");
scanf("%s",TempS.Name);
/* 输入用户密码 */
printf("Please enter the password:");
fflush(stdin);
for(i=0;i<7;i++)
{
TempS.ps[i]=getch();
TempS.ps[i+1]='\0';
if(TempS.ps[i]=='\b')
{
TempS.ps[i]='\0'; /* 将当接收到的退格换成\0 */
i--;
TempS.ps[i]='\0';/* 清除前一个字符 */
i--;/* 接收前一个字符 */
printf("\b \b");/* 删上一个显示字符 */
continue;
}
if(TempS.ps[i]=='\r')/* 输入回车结束 */
{
TempS.ps[i]='\0';/* 将回车转为结束符 */
break;
}
printf("*");
}
/* 打开用户文件,用来验证登录名和密码 */
fp=fopen(DataFile,"rb");
if(fp==NULL)
{
printf("\nOpen file %s fail!End with any key\n",DataFile);
perror("Open file fail");
getch();
exit(1);
}
/* 循环读取文件中的数据对用户名和密码进行验证 */
while(fread(&Show,sizeof(user),1,fp)!=(int)NULL)
{
if(strcmp(TempS.Name,Show.Name)==0 && strcmp(TempS.ps,Show.ps)==0)
{
printf("\nlogin successful!\n");
success=1;
break;
}
}
fclose(fp);
if(success==1)
{
if(Show.power==1)/* 判断用户的权限 */
{
printf("\nyou power is administrator!\n");
getch();
Admin(Show);/*调用管理员系统控制平台 */
}
else
{
printf("\nyour power is user!\n");
getch();
Guest(Show);/* 调用普通客户系统控制平台 */
}
}
else/* 如果登录失败 */
{
printf("\nerror user name or password!input again(Y/N)?");
fflush(stdin);
relogin=getchar();
if(relogin=='y'||relogin=='Y')
goto again;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -