fcamuso

Corso C++ 35.b - esercizi funzioni - B

Jun 11th, 2026
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. import std;
  2. // 2. Il generatore di Username aziendali
  3. //     funzione chiamata crea_username che prende un nome e un cognome
  4. //     di un nuovo dipendente e genera il suo nome utente standard
  5. //     (tutto minuscolo e separato da un punto).
  6. //
  7. //     Input: Due stringhe(nome, cognome).
  8. //
  9. //     Output Atteso : Una stringa unita.Esempio : inserendo "Mario"
  10. //     e "Rossi", restituisce "mario.rossi".
  11. std::string crea_username(const std::string& cognome, const std::string& nome,
  12.                           std::unordered_set<std::string>& elenco)
  13. {
  14.     std::string user_base{};
  15.     std::string user{};
  16.  
  17.  
  18.     for (auto c: cognome + "." + nome)
  19.         if (c != ' ')
  20.           user_base += std::tolower(c);  //pallino.pinco
  21.  
  22.     //gestione omonimie
  23.     int progressivo = 0;
  24.     user = user_base; //pallino.pinco
  25.  
  26.     while (elenco.contains(user))
  27.     {
  28.         ++progressivo;
  29.         user = user_base + std::to_string(progressivo);
  30.     }
  31.  
  32.     elenco.insert(user);
  33.     return user;
  34. }
  35.  
  36.  
  37. auto main() -> int
  38. {
  39.  
  40.     std::unordered_set<std::string> elenco_user{};
  41.     std::println("{}", crea_username("Ceccó", "PIETRO", elenco_user));
  42.  
  43.     for (auto user : elenco_user)
  44.         std::println("{}", user);
  45.  
  46.  
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment