宿舍管理项目之界面密码的设置

这里有三个地方,一是密码最多输入三次,二是输入的用户名与密码与设定的作比较,三是稍难的输入密码时打印的是*,用getch函数读入字符

  void password()
{
   char user_name[20];
   

   int i,sum;
   char k;
	
   for(i = 1; i < 4; i++)
   {
   		sum=0;
   		char password[20];
     	printf("\n\t\t      请输入您的用户名:");
        gets(user_name);
        
        printf("\t\t      请输入您的密码:");
        for(;;)//此处为输入密码不回显操作 
        {
            k=getch();
            if(k=='\r') //如果输入k为回车,则跳出循环 
            {
                break;
            }
            if(k=='\b')//如果输入k为删除键 
            {
                if(sum>0)//如果密码还没完全删除 
                {
                    printf("\b");
                    printf(" ");
                    printf("\b");
                    sum--;
                }
            }
            else  //如果输入的k既不是删除键,也不是回车键
            {
                password[sum]=k;
                printf("*");
                sum++;
            }
        }
        password[sum]='\0';//在字符串结尾作结束符标记

        if ((strcmp(user_name,"8208201411")==0) && (strcmp(password,"088977")==0))
        {
            printf("登录成功");
            return;
        }
        else
        {
            if (i < 3)
            {
                printf("\n\t\t      用户名或密码错误,请重新输入!(剩余输入次数:%d)",3-i);
            }
			   
            else
            {
                printf("\n\t\t      您已连续3次将用户名或密码输错,系统退出!");
                exit(1); 
            }
        }
   }
}
posted @ 2021-01-08 00:01  empty_thought  阅读(280)  评论(0)    收藏  举报