Avvrei un problema che mi sta dando molti grattacapi
Premetto che è il primo anno che studio informatica e che quello che si vede giu è frutto delle mie conoscenze da smanettone,ho voluto fare questo programmino per sfizio, non trovando soluzione ho chiesto al mio prof ma insieme non siamo riusciti a risolvere il problema,
dovrei fare una cosa del genere:
#include <stdio.h>
#include <stdlib.h>
int main(){
int scelta;
int funzione1();
int funzione2();
do{
scelta=0;
system ("cls");
system ("color a");
printf (" Menu principale\n\n");
printf (" 1) Funzione1;\n");
printf (" 2) Funzione2;\n");
printf (" 9) Esci.\n\n");
printf ("Scegli ");
scanf ("%d", &scelta);
printf ("\nHai scelto %d", scelta);
system ("pause"); /* se tolgo il pause ed a programma in corso inserisco un carattere non numerico il programma va in loop nonostante nella variabile sel ci sia rimasto il numero della scelta precedente */
switch (scelta){
case 1:Funzione1();
break;
case 2:Funzione2();
break;
}
}while (scelta != 9);
// il mio prof mi ha detto di provare col do...while,ma non funziona lo stesso... (-_-)
}
int Funzione1(){//eccetera
}
int Funzione2(){//eccetera
}
Se inserisco 1 , 2 , o 9 funziona,se inserisco un numero a caso come previsto ritorna ad accettare,se inserisco un carattere il programma va in loop nonostante la variabile scelta sia uguale al numero precedente
Ho provato anche a cercare una sorta di controllo tipo "is string" ma in rete non ho trovato nulla... sarei molto grato se qualcuno mi desseun suggerimento.