Informatica 2 Liceo Scientifico Scienze Applicate/Es (while) Bisca Clandestina

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Bisca Clandestina[modifica]

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;
}

The last Throw by Charles Robert Leslie