⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.c

📁 你想了解着个东西吗?请进来,着是很有用的!
💻 C
字号:
#include "user.h"
#include "admin.c"
#include "guest.c"
/* 对用户的创建、增加、删除、修改、排序 */
#include "cuser.c"

int main()
{
  FILE * fp=NULL;
  user Show;
  user TempS;/* 临时存放用户信息的结构体变量 */
  char DataFile[40]="yonghu",c;/* 存放用户信息的文件名 */
  int i;
  char relogin;/* 是否重新登录的标志 */
  int success=0;
  /* CreateUser(); */
  printf("#==============================#\n");
  printf("# Welcome to the Vote System!  #\n");
  printf("#==============================#\n\n");
  again:
     /* 输入用户名 */
     printf("Please enter the user name:");
     scanf("%s",TempS.Name);
     printf("password=");
     fflush(stdin);
     for(i=0;i<7;i++)
     {
      c=getch();
      if(c==0x0d)
      {
       TempS.ps[i]='\0';
       break;
       }
       printf("*");
      TempS.ps[i]=c;
      TempS.ps[i+1];
     }
     TempS.ps[7]='\0';
     /* 打开yonghu文件,用来验证用户名和密码 */
     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)!=NULL)
     /*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!");
        success=1;
        /* 判断权限,如power的值为1,则是管理员,并调用管理员功能界面 */
        if(Show.power==1)
        {
         clrscr();
         printf("\nyour power is administrator!\n\n\nPress any key to continu...\n");
         getch();
         Admin(Show);
         break;
        }/* 判断权限,如power的值为0,则是投票者,并调用投票者功能选择界面 */
        if(Show.power==0)
        {
         clrscr();
         printf("\nyour power is user!\nPress any key to continu...\n");
         getch();
         Guest(Show);
         break;
        }
      }
     }
     fclose(fp);
     /* 如未能成功登录,让用户选择重新登录或退出 */
     if(success==0)
     {
      fflush(stdin);
      printf("\nerror user name or password!input again?(y/n)");
      fflush(stdin);
      relogin=getchar();
      if((relogin=='Y')||(relogin=='y'))
       {
        goto again;
        }
      else
      {
       printf("end program\n");
       exit(0);
      }
     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -