Witam,
chciałem napisać sobie program w którym sprawdzam czy wyraz się powtórzył w danym zdaniu , wtedy zmieniam kolor konsoli. Napisałem na razie coś takiego :
Wiem troche brzydki kod ale cóż.
HANDLE hOut;
std::string text;
std::cout << "Write text : ";
getline( std::cin, text );
std::vector < std::string > splited = split( text, ' ' );
std::vector < std::string > text2;
if( splited.empty() )
{
std::cout << "You didn't wrote any text ! " << std::endl;
}
for( int i = 0; i < splited.size(); i++ )
{
if( i > 0 )
{
text2.push_back( splited[ i - 1 ] );
}
for( int j = 0; j < text2.size(); j++ )
{
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
if( text2[ j ] == splited[ i ] )
SetConsoleTextAttribute( hOut, FOREGROUND_RED );
std::cout << text2[ i ] << " ";
}
}
Tylko mam jeden problem . Gdy wpisze np : "Bardzo dlugie dlugie zdanie " . To dostaje potem całe rozwalone zdanie . Wiem ,że dzieje się to tak dlatego , że są dwie pętlę. Ale jakoś nie mam pomysłu , żeb. to napisać inaczej. Jakieś propozycje??
Edytuj