Czy ten program jest poprawnie napisany???

0

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;
} 
0

Nie widzę sensu aż takiego wymyślania. Nie wiem nawet co te pętle próbują robić.

#include <iostream>
#include <string>
using namespace std;

bool szukaj(const string &tekst, const string &wyraz1, const string &wyraz2) {
	return (tekst.find(wyraz1) != string::npos) &&
	       (tekst.find(wyraz2) != string::npos);
}

void wypiszWynik(bool czyZnaleziono) {
	cout << (czyZnaleziono ? "Znaleziono" : "Nie znaleziono") << endl;
}

int main() {
	string napis = "Zadanie domowe z kursu C++ (http://cpp0x.pl) - najlepszy kurs C++ w Internecie!";
	cout << napis << endl;
	wypiszWynik(szukaj(napis, "ada", "kurs"));
	wypiszWynik(szukaj(napis, "ada", "taki"));
	wypiszWynik(szukaj(napis, "C++", "cpp0x"));
	wypiszWynik(szukaj(napis, "C#", "cpp0x"));
	return 0;
}
0

pragnę aby ktoś zerknął na ten kod sprawdziła czy jest poprawnie napisany.

Zacznijmy od tego, że to zdanie jest niepoprawnie napisane.Zdanie to nawet za dużo powiedziane, chaotyczny zbiór myśli prędzej.

0
system("pause");

Przestań kompilować w Notatniku (znany także jako Dev-C++) i pobierz prawdziwe IDE, to nie będziesz musiał tego dodawać...

1 użytkowników online, w tym zalogowanych: 0, gości: 1