Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: MellaSystems en 20 Febrero 2015, 04:11 am



Título: Necesito ayuda con este codigo
Publicado por: MellaSystems en 20 Febrero 2015, 04:11 am
 
Código
  1. bool esVocal(char c){
  2.                  bool tipo=false;
  3.                  for(int i=0; CadCar[i]!='\0'; i++){
  4.                  if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'){
  5.                       tipo = true;
  6.                       }
  7.                     }
  8.                     return tipo;
  9.                  }
  10.  
  11.             void ImpCantVocales(){
  12.                  int cont=0;
  13.                  for(int i=0;CadCar[i]!='\0';i++){
  14.                  if (esVocal(CadCar[i]))
  15.                     {
  16.                     cont++;
  17.                        }
  18.               }
  19.               std::cout<<"\nLa cadena tiene "<< cont <<" vocales"<< std::endl;
  20.                  }
  21.  
  22. /---------------------------------------------------------------------------------------------/
  23.  
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


Título: Re: Necesito ayuda con este codigo
Publicado por: engel lex en 20 Febrero 2015, 04:17 am
explica cual es tu problema o error en detalle porque porque no termino de entender


Título: Re: Necesito ayuda con este codigo
Publicado por: MellaSystems en 20 Febrero 2015, 04:42 am
Lo que pasa es q sí introduzco un string ejemplo: una
Me imprime que hay 3 vocales


Título: Re: Necesito ayuda con este codigo
Publicado por: engel lex en 20 Febrero 2015, 05:01 am
veo varios errores...

el primero

tu parametro es "c"
Código
  1. bool esVocal(char c)

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

segundo solo compara mayúsculas



Título: Re: Necesito ayuda con este codigo
Publicado por: MellaSystems en 20 Febrero 2015, 05:21 am
Código
Código
  1. bool esVocal(char c){
  2.                  bool tipo=false;
  3.                  for(int i=0; CadCar[i]!='\0'; i++){
  4.                  if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'){
  5.                       tipo = true;
  6.                       }
  7.                     }
  8.                     return tipo;
  9.                  }
  10.  
  11.             void ImpCantVocales(){
  12.                  int cont=0;
  13.                  for(int i=0;CadCar[i]!='\0';i++){
  14.                  if (esVocal(CadCar[i]))
  15.                     {
  16.                     cont++;
  17.                        }
  18.               }
  19.               std::cout<<"\nLa cadena tiene "<< cont <<" vocales"<< std::endl;
  20.                  }
  21.  
  22. /---------------------------------------------------------------------------------------------/
  23.  
  24. Es decir que debo enviarle el string que estoy capturando que es CadCar?
  25. Sería bool esVocal(string C){
  26. C=CadCar;
  27.  
  28. ........
  29. }


Así sería entonces brother

Mod: usa etiqeutas GeSHi


Título: Re: Necesito ayuda con este codigo
Publicado por: engel lex en 20 Febrero 2015, 05:25 am
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++