Programma codice segreto

di il
3 risposte

Programma codice segreto

Salve a tutti, ho provato a fare questo programmino che chiede di inserire un codice numerico e di provare ad indovinare a quello segreto. Mi segnala però degli errori, in particolare alla riga 18, dove mi dice che 'content' non è dichiarato, mentre alla riga 25 'indovinato' non è dichiarato. Vi posto il codice:

#include <stdio.h>
#include <stdlib.h>

typedef enum {vero, falso} Booleano;
int letturacodice(int *codtent)
{
printf("Programma codice segreto.");
printf("Inserisci codice: ");
scanf("%d",codtent);
return (int)codtent;


Booleano verificacodice(int ntent, int codgiusto)
{
int i=0;
do
{
int indovinato=letturacodice(&codtent);

if(indovinato==codgiusto)
return vero;
else
i++;
return falso;
}while((i<ntent) && (codgiusto!=indovinato));
}

void output()
{
int x=0;
if(x==vero)
printf("Codice corretto");
else
printf("Codice errato");
}

int main()
{
int codtent;

letturacodice(&codtent);
verificacodice(10, 1999);
output();

return 0;
}
Grazie a chiunque sarà disposto ad aiutarmi!

3 Risposte

  • Re: Programma codice segreto

    In questa linea

    int indovinato=letturacodice(&codtent);

    usi la variabile codtent che non esiste nella funzione stessa.

    Che volevi fare?
  • Re: Programma codice segreto

    Volevo assegnare alla variabile indovinato il valore restituito dalla funzione letturacodice.
  • Re: Programma codice segreto

    Prima di tutto, la chiamata avviene nel main, non devi chiamarla nuovamente.

    Poi, la funzione letturacodice dovrebbe essere void (non restituire nulla) dato che modifica direttamente la variabile che passi per puntatore.
    Ovvero il valore viene restituito direttamente nella variabile codtent passata nel main.

    Infine, nel main quando chiami la verificacodice, devi anche passare il valore di codtent che così può essere esaminato.
Devi accedere o registrarti per scrivere nel forum
3 risposte