Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import std;
- //controllo password: deve essere
- // - lunga piu di 8 caratteri
- // - contenere almeno una maiuscola
- // - contenere almeno una cifra numerica
- // - contenere almeno un carattere speciale
- bool is_valid_password(const std::string& psw,
- const std::string& speciali="&^!£#")
- {
- //guard clause (clausola di guardia)
- if (psw.length() <8)
- return false;
- //flag (segnalini)
- bool trovata_maiuscola {false};
- bool trovata_cifra{ false };
- bool trovato_speciale{ false };
- for (char c : psw)
- {
- if (std::isupper(c))
- trovata_maiuscola = true;
- if (std::isdigit(c))
- trovata_cifra = true;
- if (speciali.contains(c))
- trovato_speciale = true;
- if (trovata_maiuscola && trovata_cifra && trovato_speciale)
- return true;
- }
- return false;
- }
- auto main() -> int
- {
- std::string psw {"abcd"};
- std::println("{} {}", psw, is_valid_password(psw));
- psw="abcd1234";
- std::println("{} {}", psw, is_valid_password(psw));
- psw = "abAdssdd";
- std::println("{} {}", psw, is_valid_password(psw));
- psw = "aba1dssdd";
- std::println("{} {}", psw, is_valid_password(psw));
- psw = "aba!dssdd";
- std::println("{} {}", psw, is_valid_password(psw));
- psw = "aba!d4sdd";
- std::println("{} {}", psw, is_valid_password(psw));
- psw = "aBa!dss2dd";
- std::println("{} {}", psw, is_valid_password(psw));
- psw = "aBa!dss2dd";
- std::println("{} {}", psw, is_valid_password(psw, "/#?"));
- psw = "aBa?dss2dd";
- std::println("{} {}", psw, is_valid_password(psw, "/#?"));
- char s[] = "abcd";
- std::println("abcd {}", is_valid_password("abcd", "/#?"));
- }
Advertisement
Add Comment
Please, Sign In to add comment