宿舍管理项目之界面密码的设置
这里有三个地方,一是密码最多输入三次,二是输入的用户名与密码与设定的作比较,三是稍难的输入密码时打印的是*,用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);
}
}
}
}

浙公网安备 33010602011771号