📄 login.c
字号:
/*////////////////////////////////////////////////////
Author:
Tiem: 2007-10-09
Files Name: Register.c
Functions: 主要是登录取功能函数的实现部分
/////////////////////////////////////////////////////*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include "Structs.h"
#include "Functions.h"
/*学生登录*/
void stuLogin()
{
int i=0,j=0,k,m=0;
char c;
int flag=0,flag1=0;
USER use,use1;
FILE *fp;
if ((fp=fopen("stuUsers.dat","rb+"))==NULL) /*以读的形式打开文件stuUsers.dat,如果不存在则新建立一个*/
{
printf("不能建立stuUsers.dat文件!\n");
return;
}
else
{
fseek(fp,0,2);
if (ftell(fp)>0)
{
while (i<3) /*判断用户名输入的次数是否小于3次,当大于3次时退出系统*/
{
system("cls");
for (m=0;m<=5;m++)
printf("\n");
printf("\n\t\t\t请输入用户名: ");
scanf("%s",use.userName);
rewind(fp);
while(!feof(fp))
{
fread(&use1,sizeof(USER),1,fp);
if (strcmp(use1.userName,use.userName)==0) /*验证用户名的正确性*/
{
flag=1;
}
}
if(flag==1)
{
while (j<3) /*判断用户输入的密码的次数是否小于3次,当大于三次是退出系统*/
{
printf("\n\t\t\t请输入密码: ");
for (k=0;k<15 && (c=getch())!='\r';k++) /*用户输入的密码显示星号*/
{
use.Password[k]=c ;
putchar('*');
}
use.Password[k]='\0';
rewind(fp);
while(!feof(fp))
{
fread(&use1,sizeof(USER),1,fp);
if (strcmp(use.Password,use1.Password)==0) /*验证输入的密码是否正确*/
{
flag1=1;
}
}
if (flag1==1)
{
printf("\n\n");
printf("\t\t╭────────────────────╮\n");
printf("\t\t∣ 用户信息通过验证! ∣\n");
printf("\t\t∣────────────────────∣\n");
printf("\t\t∣ 欢迎使用学生选课管理系统! ∣\n");
printf("\t\t╰────────────────────╯\n");
fclose(fp);
system("pause");
SMenu();
return;
}
else
{
printf("\n\n\t\t-------密码错误,请重新输入!---------\n");
}
j++;
}
printf("\n\t\t#########连续3次输入错误,退出!##########\n");
return;
}
else
{
printf("\n\t\t--------用户名不存在,请重新输入!-----------\n");
system("pause");
}
i++;
}
printf("\n\t\t\t#####连续3次输入错误,向管理员申请权限!######\n");
return;
}
else
{
printf("\n\t\t-------不存在用户,请向管理员申请注册!-------\n");
return;
}
}
}
/*教师登录*/
void teacherLogin()
{
int i=0,j=0,k,m=0;
char c;
int flag=0,flag1=0;
USER use,use1;
FILE *fp;
if ((fp=fopen("teacherUsers.dat","rb+"))==NULL) /*以读的形式打开文件teacherUsers.dat,如果不存在则新建立一个*/
{
printf("不能建立teacherUsers.dat文件!\n");
return;
}
else
{
fseek(fp,0,2);
if (ftell(fp)>0)
{
while (i<3) /*判断用户名输入的次数是否小于3次,当大于3次时退出系统*/
{
system("cls");
for (m=0;m<=5;m++)
printf("\n");
printf("\n\t\t请输入用户名: ");
scanf("%s",use.userName);
rewind(fp);
while(!feof(fp))
{
fread(&use1,sizeof(USER),1,fp);
if (strcmp(use1.userName,use.userName)==0) /*验证用户名的正确性*/
{
flag=1;
}
}
if(flag==1)
{
while (j<3) /*判断用户输入的密码的次数是否小于3次,当大于三次是退出系统*/
{
printf("\n\t\t请输入密码: ");
for (k=0;k<15 && (c=getch())!='\r';k++) /*用户输入的密码显示星号*/
{
use.Password[k]=c ;
putchar('*');
}
use.Password[k]='\0';
rewind(fp);
while(!feof(fp))
{
fread(&use1,sizeof(USER),1,fp);
if (strcmp(use.Password,use1.Password)==0) /*验证输入的密码是否正确*/
{
flag1=1;
}
}
if (flag1==1)
{
printf("\n\n");
printf("\t\t╭────────────────────╮\n");
printf("\t\t∣ 用户信息通过验证! ∣\n");
printf("\t\t∣────────────────────∣\n");
printf("\t\t∣ 欢迎使用学生选课管理系统! ∣\n");
printf("\t\t╰────────────────────╯\n");
fclose(fp);
system("pause");
TMenu();
return;
}
else
{
printf("\n\n\t\t-------密码错误,请重新输入!---------\n");
}
j++;
}
printf("\n\t\t#########连续3次输入错误,退出!##########\n");
return;
}
else
{
printf("\n\t\t--------用户名不存在,请重新输入!-----------\n");
system("pause");
}
i++;
}
printf("\n\t\t\t#####连续3次输入错误,向管理员申请权限!######\n");
return;
}
else
{
printf("\n\t\t-------不存在用户,请向管理员申请注册!-------\n");
system("pause");
system("cls");
return;
}
}
}
/*管理元登录*/
void admLogin()
{
int i=0,j=0,k,m=0;
char c;
int flag=0,flag1=0;
USER use,use1;
FILE *fp;
if ((fp=fopen("admUsers.dat","rb+"))==NULL) /*以读的形式打开文件admUsers.dat,如果不存在则新建立一个*/
{
printf("不能建立admUsers.dat文件!\n");
return;
}
else
{
fseek(fp,0,2);
if (ftell(fp)>0)
{
while (i<3) /*判断用户名输入的次数是否小于3次,当大于3次时退出系统*/
{
system("cls");
for (m=0;m<=5;m++)
printf("\n");
printf("\n\t\t\t请输入用户名: ");
scanf("%s",use.userName);
rewind(fp);
while(!feof(fp))
{
fread(&use1,sizeof(USER),1,fp);
if (strcmp(use1.userName,use.userName)==0) /*验证用户名的正确性*/
{
flag=1;
}
}
if(flag==1)
{
while (j<3) /*判断用户输入的密码的次数是否小于3次,当大于三次是退出系统*/
{
printf("\n\t\t\t请输入密码: ");
for (k=0;k<15 && (c=getch())!='\r';k++) /*用户输入的密码显示星号*/
{
use.Password[k]=c ;
putchar('*');
}
use.Password[k]='\0';
rewind(fp);
while(!feof(fp))
{
fread(&use1,sizeof(USER),1,fp);
if (strcmp(use.Password,use1.Password)==0) /*验证输入的密码是否正确*/
{
flag1=1;
}
}
if (flag1==1)
{
printf("\n\n");
printf("\t\t╭────────────────────╮\n");
printf("\t\t∣ 用户信息通过验证! ∣\n");
printf("\t\t∣────────────────────∣\n");
printf("\t\t∣ 欢迎使用学生选课管理系统! ∣\n");
printf("\t\t╰────────────────────╯\n");
fclose(fp);
system("pause");
AMenu();
return;
}
else
{
printf("\n\n\t\t-------密码错误,请重新输入!---------\n");
}
j++;
}
printf("\n\t\t#########连续3次输入错误,退出!##########\n");
return;
}
else
{
printf("\n\t\t--------用户名不存在,请重新输入!-----------\n");
system("pause");
}
i++;
}
printf("\n\t\t#####连续3次输入错误,向管理员申请权限!######\n");
return;
}
else
{
printf("\n\t\t-------不存在用户,请向管理员申请注册!-------\n");
return;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -