Discussione: [C] Problemino
View Single Post
Old 07-04-2007, 17:38   #8
InferNOS
Senior Member
 
L'Avatar di InferNOS
 
Iscritto dal: Dec 2005
Città: Roma
Messaggi: 596
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;
}
}
}

Ultima modifica di InferNOS : 07-04-2007 alle 17:51.
InferNOS è offline   Rispondi citando il messaggio o parte di esso