No sé por que esta funcion q pegaré a continuacion no da el resultado q deberia, y la verdad q no sé q es ni q puede estar mal, la repasé mil veces. Lo q hace es si te dan una palabra por ejemplo "hola,-" te quita los caracteres q no sean letras y te lo deja como "hola" y si elimina dos puntos o más además debe devolver el fi como true.
bool nomesLletres(char paraula[])
{
int longitud, posicioLletra, final;
bool fi = false;
posicioLletra=0;
final=0;
longitud = strlen(paraula);
while(posicioLletra < longitud)
{
if(paraula[posicioLletra] >= 'a' && paraula[posicioLletra] <= 'z') posicioLletra++;
else
{
if(paraula[posicioLletra] == '.')
{
final++;
if (final >= '2') fi = true;
}
paraula[posicioLletra] = '\0';
longitud--;
}
posicioLletra++;
}
printf("El final ves: %i\n",final);
return fi;
}
PD: el problema es q contador de "final" cuenta como quiere, por ejemplo pones "hola.." y el final vale 1 en lugar de 2. Y si pongo por ejemplo "hola....." al final le dá por contar 3 (q obviamente hay más), y encima no me devuelve como true del "fi", siendo final > 2.