Ho modificato in parte il codice e ho scritto abc per fare la prova.
/* Conta quante volte compaiono le lettere in una frase*/
#include<stdio.h>
int main(void)
{
char ch;
int lunghezza=0;
int vocali=0;
repeat:
printf("Inserire un messaggio: ");
ch=getchar();
if(ch!='\n') goto ciclo;
else goto repeat;
ciclo:
while(ch!='\n'){
lunghezza++;
switch (ch) {
case 'a':
case 'A':
case 'e':
case 'E':
case 'i':
case 'I':
case 'o':
case 'O':
case 'u':
case 'U':
vocali++; break;
}
ch=getchar();
}
printf("Il messaggio è lungo %d caratteri.\nNel messaggio sono contenute %d vocali.\n",lunghezza,vocali);
return 0;
}
Ho inserito dei goto per renderlo più efficiente, infatti se il primo carattere che inserisco è il tasto invio mi ripete ciò che sta scritto nella printf
PRIMO ESEMPIO:
Inserire un messaggio: ciao
Il messaggio è lungo 4 caratteri.
Nel messaggio sono contenute 3 vocali.
SECONDO ESEMPIO:
Inserire un messaggio:
Inserire un messaggio:
Inserire un messaggio:
Inserire un messaggio: abc
Il messaggio è lungo 3 caratteri.
Nel messaggio sono contenute 1 vocali.
Spero che almeno adesso posso andare bene così. Grazie