Jak za pomocą if ... else porównać teksty?
Ostatnio zmodyfikowano 2014-02-16 22:07
Tomasz95 Temat założony przez niniejszego użytkownika |
Jak za pomocą if ... else porównać teksty? » 2014-02-16 19:02:16 W mojej grze do stworzenia menu (Na ekranie program wypisuje możliwe opcje a gracz musi wpisać którą wybiera.) wykorzystałem switch i chciałbym zamienić to na if ... else. Niestety nie wiem jak porównywać tekst w if ... else. (Za jego pomocą w grze porównywałem tylko liczby.) Proszę was o pomoc. No chyba że wiecie co zrobić aby w switch można było wpisywać tekst. Jeśli to wiecie to proszę was żebyście to napisali. Jak chcecie to mogę wkleić tutaj cały kod gry ale proszę was o nie kopiowanie (Np. na chomikuj.pl, lub inne strony internetowe z których można pobierać.) go bez mojej zgody. Skopiuje go tutaj tylko po to żebyście mogli napisać co mogę w nim poprawić. (Nie piszcie o wszystkim, tylko o tym if ... else i switch. Resztę naprawię sam.) |
|
xevuel |
» 2014-02-16 19:17:43 Dla char * - strcmpDla std::string - operator == |
|
Tomasz95 Temat założony przez niniejszego użytkownika |
» 2014-02-16 19:48:51 Xevuel Dziękuję ci za odpowiedź, ale czy mógłbyś (lub ktoś inny kto to czyta) napisać jak porównać 3 lub więcej tekstów i jak zrobić coś co jeśli gracz chce powtórzyć grę cofa kod do momentu rozpoczęcia gry. Ale chcę żeby to nie działo się zawsze tylko wtedy kiedy gracz wpisze odpowiednie słowo po ukończeniu gry. Coś w rodzaju odnośnika do jakiegoś punktu w kodzie gry też by się przydało. |
|
SocrateZ |
» 2014-02-16 21:41:24 Programowanie to metoda prób i błędów... Poczytaj: http://www.cplusplus.com/reference/cstring/strcmp/Jak napisał kolega wyżej, funkcja strcmp ( jeżeli podane teksty są równe, zwraca 0 ) Więc... jeżeli chcesz porównać 3 teksty, to musisz: ( strcmp( t1, t2 ) == strcmp( t2, t3 ) == strcmp( t1, t3 ) ) == 0 . No a jeżeli chcesz coś cofnąć / powtórzyć, zrób to w pętli... Polecenie continue wraca do początku pętli. |
|
pekfos |
» 2014-02-16 22:02:44 Programowanie to metoda prób i błędów... [..] Więc... jeżeli chcesz porównać 3 teksty, to musisz:
( strcmp( t1, t2 ) == strcmp( t2, t3 ) == strcmp( t1, t3 ) ) == 0 . |
To jest jednym i drugim. Jak chcesz porównać, czy 3 teksty są sobie równe, to prędzej tak: if( !strcmp( t1, t2 ) && !strcmp( t2, t3 ) ) if( t1 == t2 && t2 == t3 )
|
|
SocrateZ |
» 2014-02-16 22:07:28 No tak.. masz racje, wystarczy użyć 2 razy strcmp... :) I dałem ciała :D |
|
« 1 » |