26/11/08 17:57
Cesaruz
Ciao a tutti
Ho un problema con la risposta che acquisisci dall'utente prima dello switch.Infatti lo switch fuziona solo con variabili intere quindi se l'utente mette un carattere il ciclo va in loop.Quindi vorrei fare un ciclo di controllo sulla scelta dell'utente.Come posso fare???
Grazie anticipatamente a tutti.
Ultima modifica effettuata da Cesaruz 26/11/08 18:00
aaa
26/11/08 19:06
pierotofy
Emm... il codice per favore?
28/11/08 12:22
gioser
devi controllare il valore di ritorno della scanf.
int risp;
do{
printf("\nCosa si vuole fare? \n");
printf("1-Prelevare del credito\n");
printf("2-Visualizzare saldo attivo\n");
printf("3-Movimenti effetuati\n");
printf("4-Chiudi\n");
printf("Inserire scelta--->");
if (0 == scanf("%d",&risp))
{
char buf[100];
gets(buf);
printf("errore, scelta non valida\n");
}
else
{
switch(risp)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
printf("esco\n");
break;
default:
printf("errore, scelta non valida\n");
break;
}
}
}while(risp!=4);
Ciao
Ultima modifica effettuata da gioser 28/11/08 12:35
aaa
01/12/08 17:51
pierotofy
Anche se gets() sarebbe sconsigliata da usare... è a rischio di buffer overflow.