欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

login.cpp

内有说明
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 + -