conditional statement (tsz. conditional statements)
? :
)
if
szerkezetAz if
szerkezet akkor hajtja végre a kódot, ha a feltétel igaz (true
).
if (feltétel) {
// Végrehajtandó kód, ha a feltétel igaz
}
#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.”
if-else
szerkezetHa a feltétel igaz (true
), akkor az if
ágba lép a program, egyébként az else
ágba.
if (feltétel) {
// Kód, ha a feltétel igaz
} else {
// Kód, ha a feltétel hamis
}
#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.”
if-else if-else
szerkezetTöbb lehetséges feltételt vizsgálhatunk vele.
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
}
#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.”
? :
)Egy rövidebb szintaktikájú if-else
szerkezet.
feltétel ? kifejezés_ha_igaz : kifejezés_ha_hamis;
#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”
switch-case
szerkezetHa 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
.
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
}
#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.
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 |
if
.if-else
.if-else if-else
.switch-case
elegánsabb és gyorsabb lehet.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.