Advertisement
AntonioVillanueva

clave robusta c++

Nov 27th, 2019
402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.74 KB | None | 0 0
  1. /*
  2. Antonio Villanueva Segura
  3. compilar    g++ -std=c++11 -o programa programa.cpp
  4. Verificacion clave robusta
  5. El sistema debe preguntar al usuario 8 caracteres uno a uno
  6. una clave robusta esta compuesta al menos :
  7.     una letra mayuscula
  8.     una letra minuscula
  9.     un numero
  10.     un caracter especial
  11. Considerando estos param
  12. Su clave cuenta con al menos una mayuscula,una minuscula,un numero y un caracter especial
  13. Debe colocar al menos una letra mayuscula
  14. Debe colocar al menos una letra minuscula
  15. Debe colocar al menos un numero
  16. Debe colocar al menos un caracter especial
  17. */
  18. #include <iostream>
  19. #include <cctype>
  20. #include <iostream>
  21. #include <cstring>
  22. using namespace std;
  23.  
  24. int main (){   
  25.     string palabra("");
  26.     char caracter;//Lectura de caracteres teclado
  27.    
  28.     int parametros=0;//Codifica en potencias de 2
  29.     int lectura=8;//Numero de caracteres a leer
  30.     while (lectura-->0){
  31.         cout<<"introduzca caracter ,faltan "<<lectura<<" ? ";
  32.         cin>>caracter;
  33.         palabra+=caracter;     
  34.     }
  35.    
  36.     cout <<palabra<<endl;//Muestra la palabra introducida
  37.    
  38.     for (auto letra:palabra){//Analisis palabra
  39.         if (isupper(letra)) {parametros|=0x01;}
  40.         if (islower(letra)) {parametros|=0x02;}
  41.         if (isdigit(letra)) {parametros|=0x04;}
  42.         if (ispunct(letra)) {parametros|=0x08;}
  43.     }
  44.    
  45.  
  46.     if(parametros==0x0F){cout<<"Su clave cuenta con al menos una mayuscula,una minuscula,un numero y un caracter especial"<< endl;}
  47.     if ((parametros & 0x01)==0){cout<<"Debe colocar al menos una letra mayuscula"<<endl;}
  48.     if ((parametros & 0x02)==0){cout<<"Debe colocar al menos una letra minuscula"<<endl;}
  49.     if ((parametros & 0x04)==0){cout<<"Debe colocar al menos un numero"<<endl;}
  50.     if ((parametros & 0x08)==0){cout<<"Debe colocar al menos un caracter especial"<<endl;}         
  51.  
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement