Witam!
Chciałbym napisać program, który po pobraniu od użytkownika zdania stwierdzi czy ma on dobry humor, czy zły. Pierwszą część programu już napisałem (tą z pozytywnymi uczuciami), niedługo zabieram się do drugiej(tej z negatywnymi).
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string tekst;
void wypiszTekst();
void pozytywne(string napis);
int main()
{
cout<<"Jak sie czujesz ?"<<endl;
getline(cin,tekst);
pozytywne(tekst);
return 0;
}
void pozytywne(string napis)
{
int licznik=0;
string slowo[4];
slowo[0]="dobrze";
slowo[1]="swietnie";
slowo[2]="idealnie";
slowo[3]="znakomicie";
while(licznik<=3)
{
size_t szukajPozycji = napis.find(slowo[licznik]);
if(szukajPozycji != string::npos)
{
wypiszTekst();
break;
}
licznik++;
}
}
void wypiszTekst()
{
system("cls");
cout<<"Bardzo sie ciesze z tego powodu !";
}
Nie wiem jednak czy warunek w pętli, który zapisałem w funkcji "pozytywne()" jest poprawny. "break;" w tej funkcji służy, aby nie wypisywać tekstu z funkcji "wypiszTekst()" kilkukrotnie. Czy moglibyście, drodzy Czytelnicy ocenić ten kod i w miarę możliwości ocenić jego refaktoryzację ? Cenne są dla mnie także komentarze z krytyką :)
Pozdrawiam i z góry dziękuję !