bool esVocal(char c){
bool tipo=false;
for(int i=0; CadCar[i]!='\0'; i++){
if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'){
tipo = true;
}
}
return tipo;
}
void ImpCantVocales(){
int cont=0;
for(int i=0;CadCar[i]!='\0';i++){
if (esVocal(CadCar[i]))
{
cont++;
}
}
std::cout<<"\nLa cadena tiene "<< cont <<" vocales"<< std::endl;
}
/---------------------------------------------------------------------------------------------/
cuando le ingreso un string me dice que todo lo que le pongo es vocal jejejejje Ayuda porfa
Mod: Mensaje modificado, al publicar código usa etiquetas GeSHi
explica cual es tu problema o error en detalle porque porque no termino de entender
Lo que pasa es q sí introduzco un string ejemplo: una
Me imprime que hay 3 vocales
veo varios errores...
el primero
tu parametro es "c"
bool esVocal(char c)
pero tu operación trabaja con algo no declarado en esa función
for(int i=0; CadCar[i]!='\0'; i++)
segundo solo compara mayúsculas
Código
bool esVocal(char c){
bool tipo=false;
for(int i=0; CadCar[i]!='\0'; i++){
if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'){
tipo = true;
}
}
return tipo;
}
void ImpCantVocales(){
int cont=0;
for(int i=0;CadCar[i]!='\0';i++){
if (esVocal(CadCar[i]))
{
cont++;
}
}
std::cout<<"\nLa cadena tiene "<< cont <<" vocales"<< std::endl;
}
/---------------------------------------------------------------------------------------------/
Es decir que debo enviarle el string que estoy capturando que es CadCar?
Sería bool esVocal(string C){
C=CadCar;
........
}
Así sería entonces brother
Mod: usa etiqeutas GeSHi
si a la funcion tu dices que recibes "c" recibes "c" sin importar como la variable se llame antes...
te modifiqué el tema, al publicar codigo, usa las etiquetas GeSHi...
recomiendo leer un tutorial sobre funciones en c++