U
Utente 125751
Ospite
Ciao :)
Il primo esercizio consiste in:
1)Acquisire da tastiera una lettera, stamparla sullo schermo e determinare se si tratta di
una vocale o di una consonante. Il programma inizierà da capo.
2) Se invece non si acquisisce una singola lettera allora verrà stampato un errore ed il programma ricomincerà da capo.
Per il momento ho fatto questo in Ansi C:
Ho visto ci sono questi warnings:
Non so se è ok che "il result of comparison is constant"
Non capisco perchè ci sia un "Unreacable code" nella riga 22 ed in quella 24.
Il fatto che sia un infinite loop mi pare ok come cosa. Confermate?
Mi rendo conto ora che devo sostituire la funzione getchar con quella scanf visto che la prima può acquistare solo 1 carattere (char). Creo in aggiunta una variabile di tipo int e la inserisco nella funzione scanf insieme alla variabile let, che è di tipo char.
Pensavo, se ha senso in questo caso, creare una array solo le vocali ed un altro solo per le consonanti.
Poi all' ultimo vorrei migliorare l' efficienza del programma.
Il primo esercizio consiste in:
1)Acquisire da tastiera una lettera, stamparla sullo schermo e determinare se si tratta di
una vocale o di una consonante. Il programma inizierà da capo.
2) Se invece non si acquisisce una singola lettera allora verrà stampato un errore ed il programma ricomincerà da capo.
Per il momento ho fatto questo in Ansi C:
C:
#include <stdio.h>
int main() /*4*/
{
char let;
while(1)
{
printf("\n\n\t");
let=getchar();
if ((let !='\n') || (let !=' ')) /*12*/
{
if ((let=='a') || (let=='e')|| (let=='i')|| (let=='o') || (let=='u'))
printf("\t\n\n%c e' una vocale\n\n",let);
else if ((let=='b') || (let=='c')|| (let=='d') || (let=='f') || (let=='g') || (let=='h') || (let=='j') || (let=='k') || (let=='l') || (let=='m') || (let=='n') || (let=='p') || (let=='r') || (let=='s') || (let=='t') || (let=='v') || (let=='w') || (let=='x') || (let=='y') || (let=='z'))
printf("\t\n\n%c e' una consonante\n\n",let);
}
else if ((let=='\n') || (let==' ')) /*22*/
printf("\n\n errore\n\n"); /*24*/
}
return 0;
}
Ho visto ci sono questi warnings:
Non so se è ok che "il result of comparison is constant"
Non capisco perchè ci sia un "Unreacable code" nella riga 22 ed in quella 24.
Il fatto che sia un infinite loop mi pare ok come cosa. Confermate?
Mi rendo conto ora che devo sostituire la funzione getchar con quella scanf visto che la prima può acquistare solo 1 carattere (char). Creo in aggiunta una variabile di tipo int e la inserisco nella funzione scanf insieme alla variabile let, che è di tipo char.
Pensavo, se ha senso in questo caso, creare una array solo le vocali ed un altro solo per le consonanti.
Poi all' ultimo vorrei migliorare l' efficienza del programma.
Ultima modifica da un moderatore: