Caio,
devo fare un programma che data in infresso una frase (quindi anche gli spazzi tra una parola ed un' altra) dica all'utente quante quante vocali sono presenti nella frase.
Però ho riscontrato 2 problemi quando lo compilo:
1)Mi dice che la fgets è senza cast;
2)Ad ogni
codice:
if(frase[cnt] =="vocale")
mi dice che comparo un pointer con un integer ma, sinceramente non so proprio cosa voglia dire.
Ecco il codice
codice:
//Numero di vocali in una frase
#include <stdio.h>
#include <string.h>
int main()
{
char frase[200]; // assumo una lettura di max 199 caratteri (+ 1 per '\0')
char a,e,i,o,u;
a=0;
e=0;
i=0;
o=0;
u=0;
int vocali, cnt; //cnt serve da contatore
vocali=0;
printf("Scrivi una frase: \n");
fgets("%lf", &frase[0]);
for (cnt = 0; cnt < strlen(frase); cnt++) //strlen() - calcola la lunghezza di una stringa
{
if(frase[cnt] =="a")
{
vocali++;
a++;
}
else if(frase[cnt] =="e")
{
vocali++;
e++;
}
else if(frase[cnt] =="i")
{
vocali++;
i++;
}
else if(frase[cnt] =="o")
{
vocali++;
o++;
}
else if(frase[cnt] =="u")
{
vocali++;
u++;
}
}
printf("Numero di vocali %d\n",vocali);
printf("Numero di 'a' %d\n",a);
printf("Numero di 'e' %d\n",e);
printf("Numero di 'i' %d\n",i);
printf("Numero di 'o' %d\n",o);
printf("Numero di 'u' %d\n",u);
return 0;
}
Ciao e grazie mille in anticipo