Witam,
pragnę aby ktoś zerknął na ten kod sprawdziła czy jest poprawnie napisany. Strumień wyjściowy powinien wskazać :
- Znaleziono
- Nie znaleziono
- Znaleziono
- Nie znaleziono
#include <iostream>
#include <string>
using namespace std;
bool szukaj( string & tekst, string wyraz1, string wyraz2 )
{
size_t znalezionaPozycja1 = tekst.find(wyraz1);
if (znalezionaPozycja1 == string::npos)
{
return false;
}
do
{
znalezionaPozycja1 = tekst.find(wyraz1, znalezionaPozycja1 + wyraz1.size());
}while(znalezionaPozycja1 != string::npos);
size_t znalezionaPozycja2 = tekst.find(wyraz2);
if (znalezionaPozycja2 == string::npos)
{
return false;
}
do
{
znalezionaPozycja2 = tekst.find(wyraz1, znalezionaPozycja1 + wyraz1.size());
return true;
}while(znalezionaPozycja2 != string::npos);
return false;
}
void wypiszWynik( bool czyZnaleziono )
{
if( czyZnaleziono )
cout << "Znaleziono" << endl;
else
cout << "Nie znaleziono" << endl;
}
int main()
{
string napis = "Zadanie domowe z kursu C++ (http://cpp0x.pl) - najlepszy kurs C++ w Internecie!";
cout << napis << endl;
cout << endl;
wypiszWynik( szukaj( napis, "ada", "kurs" ) );
wypiszWynik( szukaj( napis, "ada", "taki" ) );
wypiszWynik( szukaj( napis, "C++", "cpp0x" ) );
wypiszWynik( szukaj( napis, "C#", "cpp0x" ) );
system("pause");
return 0;
}