Buenos dias. Estoy tratando de crear un programa en c, en el cual introduzco una frase y me cuenta, gracias a la funcion "cuenta", el numero de caracteres 'e' que tiene la frase.
Resulta que cuando pongo por teclado "elena", me cuenta correctamente los caracteres 'e', pero cuando pongo "elena es hermosa", solo me cuenta los dos caracteres '2' de "elena", a partir de los espacios en blanco, no cuenta mas.
¿Que puede estar ocurriendo? ¿Como hago que cuente todos?
Os paso el codigo. Gracias
Código C:
Ver original//Bibliotecas
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//Modulos
int cuenta(char * cad, char c);
//Funcion principal
int main(){
// Declaramos strings
char c1[50];
// Voy a insertar una frase
printf ("Introduzca una frase\n"); printf ("\nIntrodujistes %s\n",c1
);
//Me muestra cuants caracteres 'e' tiene la frase que introducí
printf ("\nTiene %d caracteres 'e'\n", cuenta
(c1
, 'e'));
}
int cuenta(char * cad, char c){
int cont = 0;
int i = 0;
//Mientras el caracter sea distinto de \0 ..
while(cad[i] != '\0'){
//Si el caracter de la posicion actual del string es 'e'
if(cad[i] == 'e){
//Aumentamos el contador
cont++;
}
//incremento i
i++;
}
return cont;
}