Código
#include <iostream> #include <string> class cCadena{ private: std::string CadCar; public: void setCadCar(std::string pCadCar){CadCar=pCadCar;} std::string getCadCar(){ return CadCar; } void ImpHorizontal(){ std::cout<<CadCar<<std::endl; } void ImpVertical(){ for(int i=0;i<CadCar.length();i++) std::cout<<CadCar[i]<<"\n"; } bool esVocal(){ for(int i=0; CadCar[i]!='\0'; i++){ if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U' || CadCar[i] =='a' || CadCar[i] =='e' || CadCar[i] =='i' || CadCar[i] =='o' || CadCar[i] =='u'){ return true; } else return false; } } void ImpCantVocales(){ int CanVoc=0; if (esVocal()) { CanVoc++; } std::cout<<"\nLa cadena tiene "<< CanVoc <<" vocales"<< std::endl; } }; main(){ cCadena oCadena; oCadena.setCadCar("UASD"); oCadena.ImpHorizontal(); //oCadena.ImpVertical(); oCadena.ImpCantVocales(); // oCadena.ImpCantConsonantes(); system("pause"); }
me imprime que solo existe una vocal ayuda por favor!!!
y alguien es tan amable de explicarme este codigo?
Código
void displayMaxCharacterWords(std::string& cadena ) { std::string palabra; string::iterator it = cadena.begin( ); for( string::iterator it2 = it; it2 != cadena.end( ); ++it2 ) { if ( *it2 == ' ' || *it2 == ',' || *it2 == '.' ) { size_t length = std::distance( it, it2 ); if ( length > palabra.size( ) ) palabra = std::string(it, it2 ); it = it2+1; } } std::cout << "\n\nLa palabra mas larga de la cadena es: "<< palabra << std::endl; }