Ugrás a tartalomhoz

conditional statement

A Wikiszótárból, a nyitott szótárból

Főnév

conditional statement (tsz. conditional statements)

  1. (informatika) A feltételes utasítások (conditional statements) segítségével egy program bizonyos kódrészeket csak akkor hajt végre, ha egy adott feltétel teljesül. C++-ban a következő feltételes szerkezetek érhetők el:
  1. if
  2. if-else
  3. if-else if-else
  4. Ternary operator (? :)
  5. switch-case



1. if szerkezet

Az if szerkezet akkor hajtja végre a kódot, ha a feltétel igaz (true).

Szintaxis:

if (feltétel) {
    // Végrehajtandó kód, ha a feltétel igaz
}

Példa:

#include <iostream>

int main() {
    int szam = 10;

    if (szam > 0) {  // Ha a szam nagyobb, mint 0
        std::cout << "A szám pozitív." << std::endl;
    }

    return 0;
}

Ha szam nagyobb, mint 0, akkor a program kiírja:
“A szám pozitív.”



2. if-else szerkezet

Ha a feltétel igaz (true), akkor az if ágba lép a program, egyébként az else ágba.

Szintaxis:

if (feltétel) {
    // Kód, ha a feltétel igaz
} else {
    // Kód, ha a feltétel hamis
}

Példa:

#include <iostream>

int main() {
    int szam = -5;

    if (szam > 0) {
        std::cout << "A szám pozitív." << std::endl;
    } else {
        std::cout << "A szám nem pozitív." << std::endl;
    }

    return 0;
}

Ha szam értéke -5, akkor a kimenet:
“A szám nem pozitív.”



3. if-else if-else szerkezet

Több lehetséges feltételt vizsgálhatunk vele.

Szintaxis:

if (feltétel1) {
    // Kód, ha feltétel1 igaz
} else if (feltétel2) {
    // Kód, ha feltétel1 hamis, de feltétel2 igaz
} else {
    // Kód, ha egyik feltétel sem igaz
}

Példa:

#include <iostream>

int main() {
    int szam = 0;

    if (szam > 0) {
        std::cout << "A szám pozitív." << std::endl;
    } else if (szam < 0) {
        std::cout << "A szám negatív." << std::endl;
    } else {
        std::cout << "A szám nulla." << std::endl;
    }

    return 0;
}

Ha szam = 0, a kimenet:
“A szám nulla.”



4. Ternary operátor (? :)

Egy rövidebb szintaktikájú if-else szerkezet.

Szintaxis:

feltétel ? kifejezés_ha_igaz : kifejezés_ha_hamis;

Példa:

#include <iostream>

int main() {
    int szam = 10;
    std::string eredmeny = (szam > 0) ? "Pozitív" : "Nem pozitív";

    std::cout << "A szám: " << eredmeny << std::endl;
    return 0;
}

Ha szam = 10, a kimenet:
“A szám: Pozitív”



5. switch-case szerkezet

Ha egy változó több különböző értéket vehet fel, akkor a switch-case szerkezet elegánsabb megoldás lehet, mint sok if-else.

Szintaxis:

switch (változó) {
    case érték1:
        // Kód, ha változó == érték1
        break;
    case érték2:
        // Kód, ha változó == érték2
        break;
    default:
        // Kód, ha egyik feltétel sem teljesül
}

Példa:

#include <iostream>

int main() {
    int nap = 3;

    switch (nap) {
        case 1:
            std::cout << "Hétfő" << std::endl;
            break;
        case 2:
            std::cout << "Kedd" << std::endl;
            break;
        case 3:
            std::cout << "Szerda" << std::endl;
            break;
        case 4:
            std::cout << "Csütörtök" << std::endl;
            break;
        case 5:
            std::cout << "Péntek" << std::endl;
            break;
        default:
            std::cout << "Hétvége" << std::endl;
    }

    return 0;
}

Ha nap = 3, a kimenet:
“Szerda”

Megjegyzések: - A break utasítás szükséges, hogy a program ne fusson végig az összes esetágon. - Ha nincs break, akkor az összes alatta lévő case végrehajtódik.



Összegzés

Szerkezet Használati eset
if Egyetlen feltétel vizsgálata
if-else Két lehetőség (igaz vagy hamis)
if-else if-else Több lehetséges feltétel ellenőrzése
Ternary (? :) Rövidített if-else, ha egy értéket kell adni
switch-case Több fix érték alapján történő elágazás

Melyiket mikor használjuk?

  • Ha egy egyszerű feltételt kell ellenőrizni, használj if.
  • Ha két lehetőség van, használj if-else.
  • Ha több lehetőség van, használj if-else if-else.
  • Ha egy változó több lehetséges értéket vehet fel, a switch-case elegánsabb és gyorsabb lehet.
  • Ha egy egyszerű értéket akarsz if-else helyett, használj ternary operátort.

Példa egy komplex feltételre:

if ((x > 10 && y < 20) || z == 5) {
    std::cout << "A feltétel teljesül." << std::endl;
}

Ebben a példában az && és || operátorokkal kombinált feltételeket vizsgálunk.