Quote:
L'errore è che non sai come funziona getchar(). È "bufferizzata", ritorna il carattere solo dopo che hai premuto 'invio'. Ma se premi 'a' e poi 'invio' la getchar() ritorna giustamente la 'a' ma il '\n' rimane nel buffer e viene ritornato subito dalla successiva getchar()!!
Altre quisquilie: getchar() ritorna un int, non un char, quindi scelta dichiaralo come int. Inoltre includi <stdlib.h>
|
Quindi cm fare ad iterare nel modo giusto qst programmino??Cmq avevo usato anche scanf al posto di getchar ma il problema era lo stesso..poi xkè includere stdlib?
qst il prog cn scanf:
#include <stdio.h>
#include <stdlib.h>
char scelta;
main()
{
printf("\t\t\t\tCALCOLI GEOMETRICI\n");
for( ; ; ){
printf("\na)Trasposta di una matrice.\nb)Somma di due matrici.\n");
printf("c)Prodotto di due matrici.\ne)Exit.\n");
printf("\nScegli tra le opzioni: ");
scanf("%c", &scelta);
switch(scelta) {
case 'a':
printf("Hai scelto a\n");
break;
case 'b':
printf("Hai scelto b\n");
break;
case 'c':
printf("Hai scelto c\n");
break;
case 'e':
exit(0);
default:
printf("Selezione errata!\n");
break;
}
}
}