Programmazione

  • Materia: Programmazione
  • Visto: 4538
  • Data: 07/05/2008
  • Di: Redazione StudentVille.it

Linguaggio C: simulazione lancio di una moneta

esercizio svolto o teoria

A cura di: Administrator

/*
 * Scrivete un programma che simuli il lancio di una monetina.
 * Per ogni lancio della monetina il programma dovrà visualizzare
 * Heads o Tails. Lasciate che il programma lanci la monetina per
 * 100 volte e contate il numero di occorrenze per la comparsa di
 * ogni faccia della monetina. Visualizzate i risultati.
 * Il programma dovrà richiamare una funzione flip, che non riceverà
 * argomenti e che restituirà 0 per croce e 1 per testa.
 * Nota: qualora il programma simuli realisticamente il lancio di
 * una monetina, allora ogni faccia della stessa dovrà apparire
 * approssimativamente la metà delle volte, per un totale approssimativo
 * di 50 teste e 50 croci.
 *
 */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TESTA 1
#define CROCE 0
#define LANCI 1000
unsigned int flip(void);
int
main(void)
{
	int totTesta, totCroce;
	int i, result;
	totTesta = totCroce = 0;
	srand(time(NULL));
	for (i = 0; i < LANCI; i++) {
		result = flip();
		if (result == CROCE) {
			printf("Tails\n");
			totCroce++;
		} else {
			printf("Heads\n");
			totTesta++;
		}
	}
	printf("Totale croce: %d,\tTotale testa: %d\n", totCroce, totTesta);
	return 0;
}
unsigned int
flip(void)
{
	return (rand() % 2);
}