Instrukcje warunkowe

Podejmowanie decyzji w programie jest kluczową częścią logiki programowania, pozwalającą na wykonanie różnych fragmentów kodu w zależności od spełnienia określonych warunków. W języku C++ do podejmowania decyzji służą głównie instrukcje warunkowe i instrukcje wyboru. Poniżej przedstawiam szczegółowe informacje na temat tych konstrukcji.

1. Instrukcje warunkowe: if, else if, else

Instrukcje warunkowe pozwalają na wykonanie określonego kodu, gdy spełniony jest dany warunek. Podstawową formą jest instrukcja if. Przykład 1: Prosta instrukcja warunkowa.
int liczba = 10;
if (liczba > 5) {
    cout << "Liczba jest większa niż 5." << endl;
}
Przykład 2: Instrukcja warunkowa z else.
if (liczba > 5) {
    cout << "Liczba jest większa niż 5." << endl;
} else {
    cout << "Liczba jest mniejsza lub równa 5." << endl;
}
Przykład 3: Instrukcja warunkowa z else if.
if (liczba > 10) {
    cout << "Liczba jest większa niż 10." << endl;
} else if (liczba > 5) {
    cout << "Liczba jest większa niż 5 ale mniejsza lub równa 10." << endl;
} else {
    cout << "Liczba jest mniejsza lub równa 5." << endl;
}

2. Zagnieżdżone instrukcje warunkowe

Zagnieżdżone instrukcje warunkowe to instrukcje if umieszczone wewnątrz innych instrukcji if lub else, pozwalające na testowanie wielu warunków. Przykład 1: Zagnieżdżona instrukcja warunkowa.
int x = 10, y = 20;
if (x > 5) {
    if (y > 15) {
        cout << "x jest większe niż 5, a y jest większe niż 15." << endl;
    }
}
Przykład 2: Zagnieżdżona instrukcja warunkowa z else.
if (x > 5) {
    if (y > 15) {
        cout << "x jest większe niż 5, a y jest większe niż 15." << endl;
    } else {
        cout << "x jest większe niż 5, ale y jest mniejsze lub równe 15." << endl;
    }
}
Przykład 3: Wiele zagnieżdżonych poziomów.
if (x > 5) {
    if (y > 15) {
        if (z > 25) {
            cout << "x > 5, y > 15, z > 25" << endl;
        }
    }
}

3. Instrukcje wyboru: switch

Instrukcja switch pozwala na wykonanie różnych fragmentów kodu w zależności od wartości wyrażenia. Jest szczególnie użyteczna, gdy trzeba porównać tę samą zmienną do wielu różnych wartości. Przykład 1: Prosta instrukcja switch.
int opcja = 2;
switch (opcja) {
    case 1:
        cout << "Wybrano opcję 1." << endl;
        break;
    case 2:
        cout << "Wybrano opcję 2." << endl;
        break;
    default:
        cout << "Nieznana opcja." << endl;
}
Przykład 2: switch bez break (przepływ przez przypadki).
switch (opcja) {
    case 1:
    case 2:
        cout << "Wybrano opcję 1 lub 2." << endl;
        break;
    case 3:
        cout << "Wybrano opcję 3." << endl;
        // Brak break powoduje, że wykonanie przejdzie do default.
    default:
        cout << "To jest domyślna opcja." << endl;
}
Przykład 3: switch z wykorzystaniem enum.
enum DniTygodnia {Poniedzialek, Wtorek, Sroda, Czwartek, Piatek, Sobota, Niedziela};
DniTygodnia dzis = Sroda;

switch (dzis) {
    case Poniedzialek:
        cout << "Dzisiaj jest poniedziałek." << endl;
        break;
    case Wtorek:
        cout << "Dzisiaj jest wtorek." << endl;
        break;
    // i tak dalej dla pozostałych dni
    default:
        cout << "Błąd: nieznany dzień!" << endl;
}
Instrukcje warunkowe i wyboru są niezbędne w programowaniu do kontrolowania przepływu programu w zależności od spełnienia określonych warunków. Pozwalają na tworzenie bardziej dynamicznych i interaktywnych aplikacji.