PAT B1081 verificar la contraseña (15 puntos)

enlaces a los temas : https://pintia.cn/problem-sets/994805260223102976/problems/994805261217153024

Título Descripción
Este título se requiere para ayudar módulo de registro de usuario de un sitio para escribir una contraseña para comprobar la legalidad de pequeñas características. El sitio requiere que los usuarios establecer una contraseña debe constar de un mínimo de seis caracteres, y puede sólo letras, números y punto decimal., Ambas cartas también debe tener números.

De entrada
de entrada dado de la primera línea de un entero positivo N (≤ 100), seguido de N filas, cada fila se da un conjunto contraseña por el usuario, no más de 80 cadena no vacía de caracteres, para entrar en el extremo.

Salida
de la contraseña de cada usuario, en un sistema de salida de información de retroalimentación fila, los siguientes cinco puntos:

Si la contraseña es legítima, la salida de su contraseña se wan mei;.
Si la contraseña es demasiado corta, sea legítimo o no, la salida Su contraseña es tai Duan le;.
Si la longitud de la contraseña legítima, pero no hay ningún carácter legal, la salida Su contraseña es Luan tai le;.
Si la longitud de la contraseña legítima, pero sólo la carta no es un número, la salida Su contraseña debe zi shu;.
Si la longitud de la contraseña legítima, pero no los números sólo letras, la salida Su contraseña necesita mu zi ..

de entrada de muestra
5
123S
zheshi.wodepw
1234,5678
WanMei23333
Pass * word.6

样例输出
Su contraseña es tai Duan Le.
Su contraseña debe zi shu.
Su contraseña debe Mu Zi.
Su contraseña wan mei.
Su contraseña es tai Luan le.

código

#include <iostream>
#include <string>
using namespace std;

int main() {
	string str;
	int n, len;
	cin >> n;			
	getchar();
	for(int i = 0; i < n; i++) {
		getline(cin, str);
		len = str.size();
		if(len < 6) {
			cout << "Your password is tai duan le." << endl;
			continue;
		}
		bool flag1 = false, flag2 = false, flag3 = false;
		for(int j = 0; j < len; j++) {
			char c = str[j];
			if(c >= 'A' && c <= 'Z')
				c = c - 'A' + 'a';
			if(c >= '0' && c <= '9')
				flag3 = true;
			else if(c >= 'a' && c <= 'z')
				flag2 = true;
			else if (c == '.');
			else
				flag1 = true;
		}
		if(flag1) {
			cout << "Your password is tai luan le." << endl;
		}
		else if(flag2 && !flag3)
			cout <<"Your password needs shu zi." <<endl;
		else if(flag3 && !flag2)
			cout << "Your password needs zi mu." << endl;
		else 
			cout << "Your password is wan mei." << endl;
	}
	return 0;
}
Publicados 327 artículos originales · ganado elogios 12 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/Rhao999/article/details/105223995
Recomendado
Clasificación