fcamuso

Lezione 20, ciclo while

Apr 8th, 2026
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.51 KB | None | 0 0
  1. /* Gioco della Roulette semplificato
  2. *  
  3.  
  4. */
  5. import std;
  6.  
  7. int estrai_numero(int min, int max)
  8. {
  9.     //istanziamo un oggetto seme random hardware
  10.     std::random_device rd{};
  11.  
  12.     //e usiamolo per inizializzare il generatore (sequenze sempre diverse)
  13.     std::mt19937 generatore(std::random_device{}());
  14.  
  15.     //'spalma' i numeri estratti dal generatore secondo
  16.     //una distribuzione uniforme
  17.     std::uniform_int_distribution<> distr(min, max);
  18.  
  19.     return distr(generatore);
  20. }
  21.  
  22.  
  23. auto main() -> int
  24. {
  25.     int soldi_posseduti{ 500 }; //euro
  26.     std::println("Parti con {} euro", soldi_posseduti);
  27.    
  28.     while (soldi_posseduti > 0)
  29.     {
  30.         int puntata{};
  31.         int su_cosa{};
  32.  
  33.         std::println("Quanto punti: ");
  34.         std::cin >> puntata;
  35.  
  36.         std::println("Su cosa: ");
  37.         std::cin >> su_cosa;
  38.  
  39.         int estratto = estrai_numero(0, 36);
  40.         std::println("E' uscito il numero {}", estratto);
  41.  
  42.         if (su_cosa == estratto)
  43.         {
  44.             std::print("Hai vinto, ti rimangono ");
  45.             soldi_posseduti = soldi_posseduti + puntata;
  46.             //soldi_posseduti += puntata;
  47.         }
  48.         else
  49.         {
  50.             std::print("Hai perso, ti rimangono ");
  51.             soldi_posseduti = soldi_posseduti - puntata;
  52.         }
  53.  
  54.         std::println("{}", soldi_posseduti);
  55.  
  56.  
  57.         //oppure, molto piu' compatto
  58.         //soldi_posseduti += su_cosa == estratto ? puntata : -puntata;
  59.     }
  60.  
  61.     std::println("{}", soldi_posseduti);
  62.    
  63. }
  64.  
Advertisement
Add Comment
Please, Sign In to add comment