Informatica 2 Liceo Scientifico Scienze Applicate/Es (while) Bisca Clandestina
Bisca Clandestina
[modifica | modifica sorgente]Marco ha deciso di aprire una sala giochi fra i suoi "amici", domanda alle persone in sala se vogliono giocare a dadi, se c'e' qualcuno che vuole giocare lo invita sul palco e gli domanda su quale numero vuole scommettere e quanti soldi vuole puntare, poi lancia il dado della fortuna e se il numero del dado corrisponde a quello su cui c'e' la puntata restituisce il doppio della cifra puntata, altrimenti lo invita a giocare nuovamente perché la fortuna e' nell'aria e piu' si gioca e piu' si vince, quindi invita nuovamente le persone a giocare ripetendo il gioco. Visto che gli affari si sono dimostrati redditizi vuole riproporre il gioco mediante una slot machine, aiutalo a scrivere il programma. Qualche volta, anche se marco e' bravo a convincere gli amici, nessuno vuole giocare con lui.
Per generare un numero a caso compreso fra 1 e 6 usiamo la funzione 1+rand()%6 , rand() genera un numero, %6 calcola ilresto della divisione del numero generato con 6, il resto e' un numero compreso fra 0 e 5, a cui aggiungiamo uno in modo che vari fra 1 e 6.
Il gioco si ripete per ogni cliente, ma non sappiamo apriori quante persone giocano, qualche volta capita pure che nessuno voglia giocare, l'istruzione di ripetizione da usarsi e' allora il while.
vediamo come scrivere il programma
#include <cstdlib>
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int n, ndado, nscelto, soldi, vincita;
string risposta;
srand(time(nullptr));
cout << "Qualcuno vuole giocare con i dadi e raddoppiare i propri soldi? (si/no)?";
cin >> risposta;
while (risposta == "si")
{
cout << "su quale numero vuoi scommettere?";
cin >> nscelto;
cout << "quanto vuoi scommettere?";
cin >> soldi;
ndado = 1 + rand() % 6;
cout << "il numero estratto e' " << ndado << endl;
if (nscelto == ndado)
{
cout << "complimenti, hai vinto";
vincita = 2 * soldi;
cout << "hai vinto " << vincita << endl;
}
else
cout << "riprova sarai piu' fortunato, piu' giochi piu' vinci" << endl;
cout << "qualcun altro vuole giocare?";
cin >> risposta;
}
cout << "ragazzi vi ringrazio, ma per oggi il banco chiude" << endl;
return 0;
}