ChomikPL Temat założony przez niniejszego użytkownika |
Warunek if nie działa ?! » 2014-08-28 10:07:38 Witajcie,
Jak znam życie, to jest to jakiś trywialny błąd, ale dopiero uczę się programować korzystając z kursu. Oto kod:
#include <iostream> #include <string>
void konwertuj( std::string & sTekst ) { int sWynik; int bWynik; int cWynik; bool b; sWynik = sTekst.find(" "); bWynik = sTekst.find("<"); cWynik = sTekst.find(">"); std::cout << sWynik << std::endl; std::cout << sTekst.find(" ", sWynik+1)<< std::endl;
do { b = sTekst.find(" ", sWynik + 1) == sWynik; std::cout << b << std::endl; if(sTekst.find(" ", sWynik + 1) == sWynik); { std::cout << sWynik << std::endl; std::cout << sTekst.find(" ", sWynik+1)<< std::endl; sTekst.erase(sWynik,1); std::cout << sWynik << std::endl; std::cout << sTekst.find(" ", sWynik+1)<< std::endl;
} }while (sWynik == sTekst.size());
}
int main() { std::string tekst = "<b>to jest </b> testowy napis :)"; konwertuj(tekst); std::cout << tekst;
return 0; }
- Pytam dlaczego w funkcji "konwertuj" kompilator uporczywie wchodzi do instrukcji zapisanych pod warunkiem if, choć warunek ten spełniony nie jest ... |
|
Jacob99 |
» 2014-08-28 10:10:48 Po czym wnioskujesz, że wchodzi, gdy warunek nie jest spełniony? |
|
ChomikPL Temat założony przez niniejszego użytkownika |
» 2014-08-28 10:12:31 Kompilator wypisuje na ekran instrukcje zapisane pod if'em. |
|
Jacob99 |
» 2014-08-28 10:15:46 Pokaż co konkretnie i w którym miejscu wypisuje program.(Czyli skopiuj zawartość konsoli). A kompilator nie wypisuje tekstów na ekran. Kompilator |
|
ChomikPL Temat założony przez niniejszego użytkownika |
» 2014-08-28 10:19:42 Wypisuje:
5 10 //(to jest oczywiste bo wpisałem to przed pętlą do-while) 0 //(To jest wartoś zmiennej typu bool, żeby wykazać, że w warunku if jest false) 5 //(od tego miejsca są instrukcje wypisywane w srodku if'a) 10 5 9
|
|
Foxey |
» 2014-08-28 10:44:26 if(sTekst.find(" ", sWynik + 1) == sWynik);
na końcu jest średnik, który kończy if'a, a instrukcje w nawiasie są po prostu wykonywane bez warunku.
W sensie, usuń średnik ;) |
|
ChomikPL Temat założony przez niniejszego użytkownika |
» 2014-08-28 10:46:24 Heheheh, jestem głupi jak but ;F Dzieki wielkie ;) |
|
Foxey |
» 2014-08-28 10:49:17 Zdarza się :D Na średnikach można sobie żyły pociąć. Dziwię się, że kompilator (jakiegokolwiek nie używasz) nie poinformował Cię o tym, że są nawiasy bez 'opieki', czyli po prostu niepotrzebny fragment. Nie pamiętam który, ale na pewno któryś tak mnie informował. Sam pracuję na VC++, ale nie pamiętam, bo mi się nie zdarzyło ostatnio :D |
|
« 1 » |