前天的问题终于完美解决了,甚至还多加了一个失败三次结束程序的功能.
int main()
{
int a=0,account = 0, clean = 0,checking=0,checking1 = 0,checking2=0,checking3=0,mima=0;
printf("欢迎来到银行卡登陆系统,请验证\n");
printf("请输入您的账户信息:");
scanf("%d", &account);
for (a = 1; a <= 3; a++)
{
if (4 == a)
break;
printf("请输入您的账户密码:");
while (clean = getchar() != '\n');
int checking = getchar();
printf("是否确认密码?(Y/N)\n");
while (clean = getchar() != '\n');
int checking1 = getchar();
if (checking1 == 'Y')
{
printf("确认成功!即将登录...");
break;
}
else if (checking1 == 'N')
{
printf("确认失败!即将重新验证...\n");
a++;
if (4 == a)
break;
Sleep(500);
printf("请重新输入密码!:");
while (clean = getchar() != '\n');
int checking2 = getchar();
printf("是否确认您的密码?(Y/N)\n");
while (clean = getchar() != '\n');
int checking3 = getchar();
{
if (checking3 == 'Y')
{
printf("确认成功!即将登录...");
break;
}
else if (checking3 == 'N')
continue;
else
{
printf("无法识别请重试...\n");
continue;
}
}
}
else
{
printf("无法识别请重试...\n");
continue;
}
}
if (4 == a)
printf("输错次数多于三次,即将关闭程序...");
return 0;
}
🤓👆
循环语句
while,for,do whlie.
在这三个玩意中,break和continue的效果都是一样的.
break:结束该循环
continue:结束本轮循环,并开启新一轮循环
其中最特别的是do while,先do(执行)再while(判断)
不知道叫什么题目的东西
getchar:获取你键盘的输入内容.
一开始我把这个和scanf混淆,毕竟都是要输入内容的.
getchar读取字符,但是还会读取回车空格,而scanf则不会
所以一般在写入\n换行转义符的时候如果有getchar函数,则需要用(while(x(x为自己创建的变量)=getchar())!='\n'&&x!=EOF)来清除,避免读取getchar的时候为空格或者\n.
int main()
{
int a = 0;
while(a=getchar());
putchar(a);
return 0;
}//这个代码就是你输入什么它就会给你输出什么,但是如果你在putchar前面加上前面所说的清理代码就会发现什么也输出不了
练习
这两天把基础的东西学了一遍后,基本就开始做练习了,然后穿插一下之前概念不太懂的点.
int main()
{
int a = 0;
for (a = 0; a = 0; a++)//这里是赋值"="而不是条件"==",0被定义为"条件为假"
{
a++;
printf("%d\n", a);
}
return 0;
}
//这题是为了让自己长眼睛的,一个"="为赋值,两个"="才是条件
int main()
{
int a = 0;
char passwords[22] = { 0 };
for (a = 1; a <= 3; a++)
{
printf("请输入密码:");
scanf("%d", passwords);
if (strcmp(passwords, "123456789") == 0)
{
printf("欢迎登录!");
break;
}
else
printf("密码错误,请再次尝试\n");
}
if (3==a)
printf("密码输入错误次数过多,结束该程序");
return 0;
}//算是我前天捣鼓那个的可能升级版吧,毕竟这里用上了密码验证,而我实力不够,那个我只能弄成密码确认