问题:模拟用户登录情景,只允许输入三次密码。如果密码正确则提示登录成功,如果三次均输入错误,则退出程序。
参考代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int i = 0;
char passwd[10] = { 0 };//定义一个字符数组
printf("请输入密码:");
scanf("%s", passwd);
for (i = 0; i < 3; i++)
{
if (strcmp(passwd, "123456") == 0)//strcmp:字符串比较函数
{
printf("登录成功!\n");
break;
}
else
{
if (2-i == 0)
{
//当密码错误且剩余输入次数为0时
printf("登录失败,请核对密码后重新登录!\n");
break;
}
printf("密码错误,还可尝试%d次\n", 2-i);
fflush(stdin);//用于清空输入缓冲区
//确保不影响后面的数据读取
gets(passwd);//从stdio流中读取字符串
//直至读取到换行符或EOF停止
}
}
system("pause");
return 0;
}
运行结果:
⑴输入三次均错误,登录失败:
⑵第二次输入正确,登录成功: