C++版浙大PAT乙级1067(20分)测试点2、测试点5答案错误解决方法

本文介绍了一个简单的C++程序,用于验证用户输入的密码是否正确,并在错误次数达到设定值时锁定账户。该程序使用getline替代cin来正确处理包含空格的密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://pintia.cn/problem-sets/994805260223102976/problems/994805266007048192

 一开始用cin输入每个用户的输入密码,但是忘记考虑用户输入是可能包含空格的。题中只规定了正确密码没有空格之类。所以把cin换成是getline,getline之前的cin会保留一个结束符,所以要用一个getchar去接收掉那个结束符。

#include<iostream>
using namespace std;

int main() {
	string str, temp;
	int n, time=0, flag=1;
	cin >> str >> n;
	getchar();
	while(1){
		getline(cin, temp);
		if(temp == "#"){
			break;
		}
		if(flag==0){
			continue;
		}
		if(temp != str){
			cout << "Wrong password: " << temp << endl;
			time ++;
			if(time >= n){
				flag=0;
				cout << "Account locked" << endl;
			}
		}else{
			flag=0;
			cout << "Welcome in" << endl;
		}
	}
    return 0;
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值