Necesito ayuda con este codigo

Iniciado por MellaSystems, 20 Febrero 2015, 04:11 AM

0 Miembros y 1 Visitante están viendo este tema.

MellaSystems

 
Código (cpp) [Seleccionar]
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

engel lex

explica cual es tu problema o error en detalle porque porque no termino de entender
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

MellaSystems

Lo que pasa es q sí introduzco un string ejemplo: una
Me imprime que hay 3 vocales

engel lex

veo varios errores...

el primero

tu parametro es "c"
Código (cpp) [Seleccionar]
bool esVocal(char c)

pero tu operación trabaja con algo no declarado en esa función
Código (cpp) [Seleccionar]
for(int i=0; CadCar[i]!='\0'; i++)

segundo solo compara mayúsculas

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

MellaSystems

#4
Código
Código (cpp) [Seleccionar]
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

engel lex

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++
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.