Devo realizzare questo programma:
/*Scrivere un programma in linguaggio C che implementi il classico gioco "testa o croce". Il programma dovrà prendere in input il numero di lanci da effettuare e stampare per ogni lancio il risultato (testa o croce) ed alla fine quante volte il risultato è stato Testa e quante è stato Croce. Si realizzi la funzione C int generaLancio() che non prende nessun input e restituisce l'esito del lancio (1=Testa, 0=croce).Si realizzi quindi una seconda funzione void Aggiorna(int* testa,int* croce, int esito) che aggiorni il contenuto dei punteggi per testa o croce in base al lancio effettuato. Successivamente si realizzi un programma C che preso in input un numero di lanci prefissato restituisce il numero di volte con esito testa e il numero di volte con esito croce.
SUGGERIMENTI:
- per generare un numero random compreso tra 0 ed N includere la libreria stdlib.h ed utilizzare la funzione:
int rand(void)
e calcolare sul valore restituito la funzione modulo N. Esempio: numero random tra 0 e 9 (N=10):
rand() % 10;*/
Io ho provato a risolverlo in questo modo, ma mi segnala errore quando vado ad utilizzare la funzione Aggiorna. In effetti non ho ben capito come inserire i parametri.
#include <stdio.h>
#include <stdlib.h>
int generaLancio ();
void Aggiorna ();
int rand(void);
int generaLancio () {
int esito = rand() % 2;
return esito;
}
void Aggiorna(int* testa, int* croce, int esito) {
if (esito == 0) {
*croce = *croce +1;
}
if (esito == 1) {
*testa = *testa +1;
}
}
int main () {
int lanci;
int testa;
int croce;
int lancio_attuale
printf ("Inserisci il numero di lanci: \n");
scanf ("%d", &lanci);
for (int i=0; i<lanci; i++) {
lancio_attuale = generaLancio ();
Aggiorna (&testa, &croce, &lancio_attuale);
}
printf ("Numero di teste: %d \n Numero di croci: %d \n", testa, croce);
return main();
}