Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Antonio Villanueva Segura
- compilar g++ -std=c++11 -o programa programa.cpp
- Verificacion clave robusta
- El sistema debe preguntar al usuario 8 caracteres uno a uno
- una clave robusta esta compuesta al menos :
- una letra mayuscula
- una letra minuscula
- un numero
- un caracter especial
- Considerando estos param
- Su clave cuenta con al menos una mayuscula,una minuscula,un numero y un caracter especial
- Debe colocar al menos una letra mayuscula
- Debe colocar al menos una letra minuscula
- Debe colocar al menos un numero
- Debe colocar al menos un caracter especial
- */
- #include <iostream>
- #include <cctype>
- #include <iostream>
- #include <cstring>
- using namespace std;
- int main (){
- string palabra("");
- char caracter;//Lectura de caracteres teclado
- int parametros=0;//Codifica en potencias de 2
- int lectura=8;//Numero de caracteres a leer
- while (lectura-->0){
- cout<<"introduzca caracter ,faltan "<<lectura<<" ? ";
- cin>>caracter;
- palabra+=caracter;
- }
- cout <<palabra<<endl;//Muestra la palabra introducida
- for (auto letra:palabra){//Analisis palabra
- if (isupper(letra)) {parametros|=0x01;}
- if (islower(letra)) {parametros|=0x02;}
- if (isdigit(letra)) {parametros|=0x04;}
- if (ispunct(letra)) {parametros|=0x08;}
- }
- if(parametros==0x0F){cout<<"Su clave cuenta con al menos una mayuscula,una minuscula,un numero y un caracter especial"<< endl;}
- if ((parametros & 0x01)==0){cout<<"Debe colocar al menos una letra mayuscula"<<endl;}
- if ((parametros & 0x02)==0){cout<<"Debe colocar al menos una letra minuscula"<<endl;}
- if ((parametros & 0x04)==0){cout<<"Debe colocar al menos un numero"<<endl;}
- if ((parametros & 0x08)==0){cout<<"Debe colocar al menos un caracter especial"<<endl;}
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement