Day 6

前天的问题终于完美解决了,甚至还多加了一个失败三次结束程序的功能.

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;
}//算是我前天捣鼓那个的可能升级版吧,毕竟这里用上了密码验证,而我实力不够,那个我只能弄成密码确认

  • 16
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:437 throw err; // Rethrow non-MySQL errors ^ Error: secretOrPrivateKey must have a value at module.exports [as sign] (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\jsonwebtoken\sign.js:107:20) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\router_handler\2user.js:49:26) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:526:10) at Query._callback (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:488:16) at Sequence.end (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24) at Query._handleFinalResultPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:149:8) at Query.EofPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:133:8) at Protocol._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Protocol.js:291:23) at Parser._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:433:10) at Parser.write (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:43:10) Node.js v18.12.1
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值