ho creato un piccolo programma (piccolo e stupido ) in c da linux, ma c'è un errore:
se provate a sbagliare due volte la stessa tabellina, e poi a digitare 1, e quindi rincominciare, non partira più dalla prima tabellina, ma da quella successiva a quella in cui siete arrivati.. ma non riesco a capire il perchè!
ecco il codice:
Codice:
#include <stdio.h>
#include <stdlib.h>
main () {
int numero, numero2, risultato, ok, azione;
inizio:
printf("Scrivi il risultato della tabellina\n");
calcola:
numero = rand() %10;
numero2 = rand() %10;
ok = numero*numero2;
printf("%d x %d = ", numero,numero2);
scanf("%d", &risultato);
if (risultato == ok) {
goto calcola;
} else {
printf("Errore! Riprova\n");
printf("%d x %d = ", numero,numero2);
scanf("%d", &risultato);
if (risultato == ok) {
goto calcola;
} else {
printf("Hai perso! Digita:\n0) Uscita\n1) Riprova\n");
printf("Cosa scegli? ");
scanf("%d", &azione);
if (azione == 1) {
printf("\n\n");
goto inizio;
} else {
}
}
}
}
ciao!!
giaco