15/08/14 9:43
NOVA99
Salve, devo fare un programma per la scuola in cui, ad un certo punto, devo vedere se una lettera è o meno una vocale. Ovviamente, per farlo ho usato una selezione semplice, ma l'IDE (nel mio caso DEV-C++) fa due cose:
a. mi dice "[Warning] comparision between pointer and integer"
b. quando eseguo il programma il computer esegue sempre lo stesso ramo dell' "if...else..." a priori.
Il codice è il seguente:
Non riesco a capire il problema, anche perche' ho fatto altri programmi in cui usavo dei confronti
tra caratteri e funzionavano perfettamente.
Qualcuno sa dirmi una soluzione?
Grazie.
a. mi dice "[Warning] comparision between pointer and integer"
b. quando eseguo il programma il computer esegue sempre lo stesso ramo dell' "if...else..." a priori.
Il codice è il seguente:
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { char car; system("TITLE ERRORE CHAR"); system("COLOR FC"); printf("INSERISCI UNA LETTERA MINUSCOLA = "); car=getche(); //acquisisce car if ((car!="a")&&(car!="e")&&(car!="i")&&(car!="o")&&(car!="u")) //controlla se è una vocale... { printf("\n\n"); putchar(car); printf(" E' UNA VOCALE"); //e si arriva a questa istruzione anche senza che car sia una vocale! } else { printf("\n\n"); putchar(car); printf(" NON E' UNA VOCALE"); } getch(); }
Non riesco a capire il problema, anche perche' ho fatto altri programmi in cui usavo dei confronti
tra caratteri e funzionavano perfettamente.
Qualcuno sa dirmi una soluzione?
Grazie.
aaa