Ciao a tutti, sono un pochettino in difficolta con una questione che sembra semplice ma ebbene non mi viene..
Sto scrivendo un semplice programmino e, tralasciando il suo obbiettivo finale ho bisogno di fargli un input con getchar()..
Il problema mi si è presentato quando volevo gestire l'eccezzione, ossia che nei casi che input != 's' o 'n' devo richiamare la funzione getchar()...
posto il codice con la soluzione "minima" tra i commenti...
e questo è l'output della 3 differenti situazioni..codice:#include<stdio.h> #include<sys/stat.h> #include<sys/types.h> #include<stdlib.h> #include<string.h> int main() { char r; printf("\nSi desidera creare una nuova directory di prova?? [s/n] : "); r = getchar(); /* switch(r) { case 's': printf("Creazione della cartella\n"); //..... break; case 'n': printf("Ok, fine del programma\n"); break; default: printf("Input non valido..\n"); break; }*/ if(r=='s') printf("Si..\n\n"); /*code..*/ else if(r=='n') printf("No..\n\n"); else { while(r!='s'||r!='n') { printf("Input non valido..\n"); r = getchar(); } } printf("\n"); exit(0); return 0; }
Qualcuno mi puo suggerire un consiglio please???? Volendo ne faccio a meno ma mi voglio togliere questa curiosita!! Una soluzione sarebbe setjmp()??codice:Si desidera creare una nuova directory di prova?? [s/n] : s Si.. Si desidera creare una nuova directory di prova?? [s/n] : n No.. Si desidera creare una nuova directory di prova?? [s/n] : w Input non valido.. Input non valido.. s Input non valido.. Input non valido.. n Input non valido.. Input non valido.. s ....
Grazie a tutti!

Rispondi quotando