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

📄 check_user.cpp

📁 学生管理系统是本人用c语言写的一个DOC界面的简单学生管理系统
💻 CPP
字号:
#include "head.h"
int  check_user(userL * p)
{
	struct userL *head=NULL;
	struct user *q=NULL;
	q=(struct user *)malloc(sizeof(struct user));
	char user[10]={'a'};
	int i=0, number=0, k=0;       //k记录用户输入次数和级别 k=6为超级管理员,k=1 为管理员 ,k=0为普通用户,k=4为连续三次输入错误强制退出。
	char word[6]={' '};

	do{


	   star1:
	    system("cls");
		printf("\n\n\n\n\n\n\n\t\t\t请输入用户名: ");
		fflush(stdin);
		for(i=0;i<=10;i++)
		{
		  number=number+1; 
		  if(number>9)
		  { 
			  printf("用户名不能大于10位!\n");   //验证位数
			  number=0;
			  i=0;
			  goto star1;
		  }

		  scanf("%c",&user[i]);	
		  if(user[i]=='\n')	  
		  {  
			  user[i]='\0';
		      break;
		  }
			 
		}
	star2:	
		number=0;	
		printf("\n\t\t\t密码:      ");	
		fflush(stdin);
		for(i=0;i<6;i++)
	{
      
	  if(number>6)
	  {    
		  printf("\n\t\t\t密码不能大于6位!\n");   //验证位数
		  number=0;
		  i=0;
		  goto star2;
	  }
	  word[i]=getch();//不带回显
	 
	  if((word[i]!='\r')&&(word[i]!=8))
	  {
		  printf("*");
	     number=number+1;
	  }
	  if(word[i]==8)
		 printf("\b\40\b");   //退格用空格替换再退
	     
	  if(word[i]=='\r')
	  {
		  word[i]='\0';
		  break;
	  }
	}
	printf("\n");
	strcpy(q->name,user);
	strcpy(q->password,word);


	  //判断用户数否为管理员

	   if((strcmp(q->name,"mm")==0) || (strcmp(q->password,"mm")==0))
		   {
			   k=6;
			   return k;
		   }
	   else
		  {
		   k = check_name_pass(q,p) ; 
		   if (k==0)
		   {
			   return k;
		   }
		   if((k!=1)&&(k==3))
		   {

			   printf("\n\t\t\t输入错误次数太多!请从新启动\n");
			   printf("\n\t\t\t");
		    	k=4; 
				return 4;

		   }
		  
		}
	}while(1==1);


}


// 查找用户权限
int check_name_pass( user * q , userL * p)
{
  struct userL*head=NULL;
  static   k=0;                      //记录输入次数
  head=p;
  while(head!=NULL)
  {
	  if((strcmp(q->name,head->name)==0)&&(strcmp(q->password,head->password)==0))
	  {
		  return 0;
		  break;
	  }
	  head=head->next;
  }
  if(k!=2)
  {
    
    printf("\n\t\t\t用户名或密码错误,请从新输入\n");
    getch();
  }
  k=k+1;
  return k;
  fflush(stdin);
}  

⌨️ 快捷键说明

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