1067 prueba la puntuación de la contraseña 20 uso de getline

Cuando intenta iniciar sesión en un sistema pero olvida su contraseña, el sistema generalmente solo le permite un número limitado de intentos, y cuando el número de intentos excede el número permitido, la cuenta se bloqueará. Esta pregunta te pide que te des cuenta de esta pequeña función.

Formato de entrada:

Ingrese una contraseña (una cadena no vacía que no exceda los 20 de longitud y que no contenga espacios, tabulaciones ni retornos de carro) y un número entero positivo N (≤ 10) en la primera línea, que son la contraseña correcta y los intentos permitidos de la sistema, respectivamente, frecuencia. Cada línea subsiguiente proporciona una cadena no vacía que termina con un retorno de carro, que es la contraseña que el usuario intenta ingresar. Se garantiza que la entrada tendrá al menos un intento. Cuando se lee una línea con un solo carácter #, la entrada finaliza y la línea no es una entrada del usuario.

Formato de salida:

Para cada entrada del usuario, si la contraseña es correcta y el número de intentos no supera N, se mostrará en una línea Welcome iny el programa finalizará; si es incorrecta, se mostrará en una línea de acuerdo con el formato Wrong password: 用户输入的错误密码; cuando el intento erróneo llega a N veces, genera otra línea Account lockedy finaliza el programa.

Ejemplo de entrada 1:

Correct%pw 3
correct%pw
Correct@PW
whatisthepassword!
Correct%pw
#

Ejemplo de salida 1:

Wrong password: correct%pw
Wrong password: Correct@PW
Wrong password: whatisthepassword!
Account locked

Ejemplo de entrada 2:

cool@gplt 3
coolman@gplt
coollady@gplt
cool@gplt
try again
#

Ejemplo de salida 2:

Wrong password: coolman@gplt
Wrong password: coollady@gplt
Welcome in

No presté atención a los casos de prueba antes, pero luego descubrí que la entrada de intentarlo de nuevo en los casos de uso no se puede ingresar usando cin, pero use getline para ingresar.

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s,ss;
	int num,cnt = 0;
	cin>>s>>num;
    getchar();
	while(1){
        getline(cin,ss);
        if(ss=="#") break;
		if(s!=ss){
			printf("Wrong password: ");
			cout<<ss<<"\n";
		}
		else if(s == ss && cnt<num){
			printf("Welcome in\n");
			return 0;
		}
		cnt++;
		if(cnt >= num){
			printf("Account locked\n");
			return 0;
		}
	}
	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/weixin_53514496/article/details/125909015
Recomendado
Clasificación