PROBLEMA CON I PUNTATORI

di il
3 risposte

PROBLEMA CON I PUNTATORI

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();

}

3 Risposte

  • Re: PROBLEMA CON I PUNTATORI

    Hai presente quel pulsante con su scritto "code"?
    bene cliccalo e inserisci il codice li dentro!

    posta anche il log del compilatore!
  • Re: PROBLEMA CON I PUNTATORI

    vbextreme ha scritto:


    hai presente quel pulsante con su scritto "code"?
    bene cliccalo e inserisci il codice li dentro!

    posta anche il log del compilatore!
    #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();
    
    }
    Okay fatto.
  • Re: PROBLEMA CON I PUNTATORI

    Buahahhahah
    scusa ma conosci l'indentazione?
    NON hai postato i messaggi del tuo compilatore.
    Quando compili lui ti da degli errori, se li posti ti insegno a leggerli.
Devi accedere o registrarti per scrivere nel forum
3 risposte