opublikował: GracuEiT, 2014-02-13

 Instrukcja warunkowa if

 

 
Instrukcja if może mieć trzy formy:
 
if(warunek) instrukcja1;
 
lub
 
if(warunek) instrukcja1;
else instrukcja2;
 
lub (Blok instrukcji)
 
if(warunek1) instrukcja1:
else if(warunek2) instrukcja2;
else if(warunek3) instrukcja3;
else if(warunek4) instrukcja4;
 
Jak działa taka instrukcja?
1. Najpierw sprawdzany jest warunek.
Jeśli jest on spełniony (prawda), to wykonywana jest instrukcja1;
Jeśli warunek nie jest spełniony (fałsz), to ta instrukcja1 nie jest wykonywana.
 
2. W drugiej formie (z wykorzystanie else):
Warunek jest spełniony (prawda), to zostanie wykonana instrukcja1, w przeciwnym razie gdy nie jest spełniony warunek (fałsz) zostanie wykonana instrukcja2.
 
3. W trzeciej formie (z wykorzystaniem else if):
Gdy spełniony jest pierwszy  warunek (prawda) to instrukcja1 jest wykonywana i następuje koniec pracy w tej konstrukcji, natomiast jeśli warunek nie zostanie spełniony (fałsz) to sprawdzany jest warunek2 i jeśli będzie on prawdziwy to zostanie wykonana instrukcja2 i koniec pracy w tej konstrucji i tak dalej z warunek3, warunek4...
 
Przykład:
 
#include <iostream>
 
int main()
{
int wiek; // Deklaracja zmiennej wiek
std::cout <<"Sprawdz, czy jestes pelnoletni \\\\n"
          <<"Podaj swoj wiek: ";
std::cin >> wiek; // Pobieranie zmiennej wiek
if (wiek >= 18) //warunek sprawdza czy liczba jest wieksza badz rowna 18
std::cout <<"Brawo! Jestes pelnoletni"; // jesli w/w zostanie spelniony to wyswietla sie taka informacja
else if (wiek <=0 ) //Jesli 1 warunek nie zostanie spelniony to sprawdzany jest nastepny, czyli czy liczba jest mniejsza badz rowna 0
    std::cout <<"Twoj wiek nie moze byc mniejszy badz rowny 0!"; // jesli jest to wyswietla sie ten komunikat
else //natomiast w kazdym innym przypadku wyswietli sie komunikat ponizej
    std::cout <<"Niestety, nie jestes jeszcze pelnoletni";
    return 0;
}
 
Zaloguj się aby dodać komentarz

    Razi91 23.02.2014 o 12:05

    Pomylone jest tu pojęcie bloku. Składnia C/C++ mówi że po warunku ma się znaleźć jedna instrukcja lub blok, blok wydziela się klamrami: {}. Po tej instrukcji/bloku może być else, który wykona się w przypadku niespełnienia warunku lub kolejna niezwiązana z warunkiem instrukcja. Tym samym za else ma się znaleźć tak samo jak po warunku: instrukcja lub blok. I trzeba pamiętać, że instrukcją też jest if, stąd konstrukcja ?else if? ? else po którym jest jedna instrukcja którym jest warunek.