login.cpp
字号:
//=======login=============
#include "login.h"
int main()
{
FILE *fp = NULL;
User Show;
User Tmps; //临时存放用户信息的结构体变量
char DataFile[40] = "h"; //存放用户信息的文件名为h
int i;
char relogin; //是否重新登陆的标志
int success = 0; //登陆成功的表示
//CreatUser()
printf("#========================================#\n");
printf("# Welcome to the score Mangement System! #\n");
printf("#========================================#\n");
again:
//输入用户名
printf("Please enter the User name:");
scanf("%s", Tmps.Name);
//输入密码,用不带回显的方式保证安全性
printf("password=");
for (i = 0;i < 6;i++)
{
Tmps.ps[i] = getch();
}
Tmps.ps[i] = '\0';
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);
}
Show.power=1;
//循环读取文件校验用户名和密码是否正确
while (fread(&Show, sizeof(User), 1, fp))
//while(Tmps.Name)
{
//如果通过验证,则将success成功登陆表示设为1
if ((strcmp(Tmps.Name, Show.Name) == 0) && (strcmp(Tmps.ps, Show.ps) == 0))
//if(Tmps.ps)
{
printf("\nlogin successfull !\n");
success = 1;
//判断权限,如power的值为1,则是管理员,并调用教师功能选择界面
if (Show.power == 1)
{
printf("\nyour power is adminstrator! \n");
Admin();
}
//power为0。则是学生,并调用学生功能选择界面
if (Show.power == 0)
{
printf("\nyour power is User!\n");
Guest();
}
}
}
//如末能成功登陆,让用户选择重新登陆或退出
if (success == 0)
{
getchar();
printf("\nnerroe User name or password! input again?(y/n)");
scanf("%c", &relogin);
if (relogin == 'y' || relogin == 'Y')
{
printf("you choose input again:\n");
goto again;
}
else
{
printf("end program\n");
getch();
exit(0);
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -