Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jeśli zmienna 1 jest równa zmiennej 2. (if else)

Ostatnio zmodyfikowano 2013-11-27 16:29
Autor Wiadomość
Nitr0Skay
» 2013-11-23 12:33:59
C/C++
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()
 

C/C++
std::cin >> zmienna;

if( zmienna > 10 )
{
    //Ten warunek jest sprawdzany, jako pierwszy
    std::cout << "Zmienna ta jest mniejsza od 10" << std::endl;
}

else if( zmienna == 10 )
{
    //Ten jest sprawdzany, gdy pierwszy if był fałszywy. Kiedy ten się wykona, else zostanie pominięte
    std::cout << "Liczba ta jest rowna liczbie 10" << std::endl;
}

else
{
    //else się wykona dopiero wówczas, gdy żaden if, lub else if nie bedzie prawdziwe i się nie wykona
    std::cout << "Liczba ta ma wartosc wyższą od 10" << std::endl;
}
P-97116
pekfos
» 2013-11-23 14:18:29
C/C++
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())
C/C++
if( odpowiedz.compare( zwrotP[ 7 ][ 0 ] ) || odpowiedz.compare( zwrotP[ 7 ][ 1 ] ) )
lub, po prostu
C/C++
if( odpowiedz == zwrotP[ 7 ][ 0 ] || odpowiedz == zwrotP[ 7 ][ 1 ] )
 
P-97132
Nitr0Skay
» 2013-11-23 14:34:24
Można i tak. Ale czyj kod jest bardziej bezpieczniejszy ?
P-97136
pekfos
» 2013-11-23 14:52:02
Ale czyj kod jest bardziej bezpieczniejszy ?
A co rozumiesz przez "bardziej bezpieczniejszy" (co to za forma..?)?
P-97141
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.))
P-97169
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
C/C++
if( liczba > x ) &&( lliczba == y ) &&( liczba < z )
     instruckja1;
else instrukcja2;


Albo druga wersja, bo nie skumalem o co ci chodzi;P
C/C++
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


P-97170
pekfos
» 2013-11-27 16:29:57
if else jest tylko do zmiennych z liczbami.
if można używać do wszystkiego.

Czy ktoś może mi napisać wszystko o tym compare?
http://www.cplusplus.com​/reference/string/string​/compare/
P-97671
1 « 2 »
Poprzednia strona Strona 2 z 2