PDA

Visualizza la versione completa : [C] Problema gestione interi nel comando while


vladkgb
22-06-2009, 18:05
Ciao ragazzi vi espongo il mio problema.
Allora, sto creando un programmino che inserito il numero intero, mi dica se pari o dispari.
Ecco il codice
#include <stdio.h>

int main () {

int x;

printf("Inserisci un numero (-1 per uscire)\n");
scanf("%d", &x);

while (x != -1) {

switch (x % 2) {
case 0:
printf("Pari\n");
break;
case 1:
printf("Dispari\n");
break;
case ' ':
case '\n':
case '\t':
break;
default:
printf("Valore non corretto\n");
break;
}

printf("Inserisci un numero (-1 per uscire)\n");
scanf("%d", &x);
}

system("PAUSE");

return 0;
}

printf("Inserisci un numero (-1 per uscire)\n");
scanf("%d", &x);
}

E fino a qui tutto ok.
Il punto che io volevo editare il while in questo modo:

ecc......

while ( (x = getchar()) !=EOF) {

switch (x % 2) {

ecc.......

Il problema che se compilo e poi eseguo, come inserisco un numero intero mi da piu' di un risultato. Come mai?
Mi interessava una cose del genere cos eliminavo la voce scanf dal programma e potevo usare EOF (end of file). In tal modo rendevo il programma "portatile".
Grazie e correggetemi pure se ho detto qualche sciocchezza visto che sono ancora un beginner :)

Loading