Jeśli zmienna 1 jest równa zmiennej 2. (if else)
Ostatnio zmodyfikowano 2013-11-27 16:29
Nitr0Skay |
» 2013-11-23 12:33:59 string odpowiedz; string zwrotA[ 10 ][ 3 ]; string zwrotP[ 10 ][ 3 ];
zwrotA[ 7 ][ 0 ] = "confession"; zwrotP[ 7 ][ 0 ] = "spowiedz"; zwrotP[ 7 ][ 1 ] = "wyznanie";
cout << zwrotA[ 7 ][ 0 ] << " - "; getline( cin, odpowiedz );
if(( odpowiedz.compare( zwrotP[ 7 ][ 0 ] ) == 0 ) ||( odpowiedz.compare( zwrotP[ 7 ][ 1 ] ) == 0 ) ) cout << "prawda" << endl;
if(( odpowiedz.compare( zwrotP[ 7 ][ 0 ] ) == 1 ) ||( odpowiedz.compare( zwrotP[ 7 ][ 1 ] ) == 1 ) ) cout << "falsz" << endl;
Metoda .compare() porównuje zmienne textowe i zwraca 0 (false), gdy zmienne są sobie równe, a jeden (true) gdy są różne. Co do porównywania liczb, to możesz skorzystać z else if() std::cin >> zmienna;
if( zmienna > 10 ) { std::cout << "Zmienna ta jest mniejsza od 10" << std::endl; }
else if( zmienna == 10 ) { std::cout << "Liczba ta jest rowna liczbie 10" << std::endl; }
else { std::cout << "Liczba ta ma wartosc wyższą od 10" << std::endl; }
|
|
pekfos |
» 2013-11-23 14:18:29 if(( odpowiedz.compare( zwrotP[ 7 ][ 0 ] ) == 1 ) ||( odpowiedz.compare( zwrotP[ 7 ][ 1 ] ) == 1 ) )
|
Po co aż tak kombinować? Wystarczy to zapisać tak (jeśli koniecznie chcesz użyć compare()) if( odpowiedz.compare( zwrotP[ 7 ][ 0 ] ) || odpowiedz.compare( zwrotP[ 7 ][ 1 ] ) )
lub, po prostu if( odpowiedz == zwrotP[ 7 ][ 0 ] || odpowiedz == zwrotP[ 7 ][ 1 ] )
|
|
Nitr0Skay |
» 2013-11-23 14:34:24 Można i tak. Ale czyj kod jest bardziej bezpieczniejszy ? |
|
pekfos |
» 2013-11-23 14:52:02 Ale czyj kod jest bardziej bezpieczniejszy ? |
A co rozumiesz przez "bardziej bezpieczniejszy" (co to za forma..?)? |
|
Tomasz95 Temat założony przez niniejszego użytkownika |
» 2013-11-23 16:10:25 Nie rozumiem tego kodu. if( odpowiedz.compare( zwrotP[ 7 ][ 0 ] ) || odpowiedz.compare( zwrotP[ 7 ][ 1 ] ) ) Jeśli dobrze zrozumiałem to nitrOskay napisał że if else jest tylko do zmiennych z liczbami. Czy ktoś może mi napisać wszystko o tym compare?(Wiem że to jest coś jak if else ale nie wiem jak go używać. Najlepiej żeby ktoś napisał co znaczy każde słowo w tej linijce kodu.(Teraz wiem tylko że odpowiedz to zmienna.)) |
|
kynol |
» 2013-11-23 16:17:36 Co do pierwszego pytania to umiesc caly kod, bo ciezko mi sobie cokolwiek takiego wyobrazic. Co do drugiego pytania to proste if( liczba > x ) &&( lliczba == y ) &&( liczba < z ) instruckja1; else instrukcja2;
Albo druga wersja, bo nie skumalem o co ci chodzi;P if( liczba > x ) ||( liczba == y ) ||( liczba < z ) instruckja1; else instrukcja2;
W pierwszym przykladzie instrukcja1 wykona sie TYLKO wtedy gdy liczba > x, gdy liczba=y oraz gdy liczba < z. Natomiast w drugim przykladzie instrukcja1; wykona sie wtedy gdy jeden z warunkow bedzie spelnionych, jesli np. pierwszy warunek czyli jesli liczba>x to wykona sie instrukcja1; a sprawdzanie dalszych wynikow zostanie anulowane poniewaz juz jeden warunek zwroci wartosc true @EDIT Zostalem ubiegniety kilkakrotnie i chyba nawet napisalem nie to czego potrzebowales, no ale coz;P |
|
pekfos |
» 2013-11-27 16:29:57 |
|
1 « 2 » |