Az előző leckékben megtanultuk hogy lehet információt bevinni, tárolni, módosítani és kiíratni a képernyőre. Most megtanuljuk hogy tudunk egy vagy akár több feltételt is vizsgálni például a tárolt információ értéke és hogy tudunk ez alapján feltételes utasításokat adni.
Feltétel vizsgálatához 3 parancs áll a rendelkezésünkre amik az IF, ELSE és ELSE IF. Egy feltétel vizsgálata során egy IF-et, korlátlan ELSE IF-et, és egy ELSE-t használhatunk, lássuk hogyan.
Nyissunk meg egy project-et codeblocks-ban vagy kezdjünk egy újat a lényeg hogy csak egy üres program váz legyen előttünk majd hozzunk létre egy integer változót így.
#include <iostream> using namespace std; int a = 10; int main() { }
Most pedig lássunk egy példát rá hogy miként tudunk egy feltételt vizsgálni. Én azt fogom vizsgálni hogy a változóm értéke egyenlő-e tízzel és ha igen akkor írjon ki egy mondatot.
#include <iostream> using namespace std; int main() { if (a==10) cout << "Az a értéke 10"; }
Ahogy láthatjuk a használata igen egyszerű. az if parancs után zárójelbe írjuk a feltételt ami ebben az esetben az hogy a egyenlő 10-el, majd a zárójel után írhatjuk az instrukciót vagyis a feltételes utasítást hogy mi történjen ha a feltétel igaz. Ebben az esetben kiíratunk egy mondatot. Feltűnhet hogy == jelet használtunk, ez nem véletlen. Egy egyenlőség jellel kijelentjük valaminek az értékét, kettő egyenlőség jellel csak feltételezzük illetve megkérdőjelezzük azt. Feltétel vizsgálat esetén akár több instrukciót is adhatunk, ebben az esetben célszerű azokat egymás alá írni például így:
int main() { if (a==10) { cout << "Az a értéke 10" << endl; cout << "Második instrukció"; } }
Ahogy láthatjuk most 2 mondatot íratunk ki, annyi instrukciót adhatunk amennyit csak szeretnénk ám ha egymás alá írjuk az instrukciókat, használnunk kell a { } jeleket ezzel jelezve a feltételes utasítás elejét és végét. Ám ha szeretnénk további instrukciókat különböző feltételekhez kötni, használhatunk újabb és újabb if parancsokat, ám elegánsabb és átláthatóbb ha else if és else parancsot használjuk, lássuk hogyan.
int main() { if (a==10) { cout << "Az a értéke 10" << endl; cout << "Második instrukció"; } else if (a==9) { cout << "Az a értéke 9"; } else if (a==8) { cout << "Az a értéke 8"; } else { cout << "Az a értéke: " << a; } }
Ahogy láthatjuk most több feltételt vizsgálunk. Az alap feltételünk hogy a változó egyenlő 10-el. A második feltételünk hogy ha az a változó értéke egyenlő 9-el a harmadik feltétel hogy az a változó értéke egyenlő 8-al a negyedik else pedig arra az esetre tartogat instrukciót ha egyik feltétel sem teljesül.
Természetesen nem csak azt a feltételt vizsgálhatjuk hogy valami egyenlő-e valamivel. Lássuk miket vizsgálhatunk és a jeleiket:
- == : Egyenlő
- != : Nem egyenlő
- > : Nagyobb
- >= : Nagyobb vagy egyenlő
- < : Kisebb
- <= : Kisebb vagy egyenlő
We understand such position and wish to introduce any new http://amerikabulteni.com/2018/02/07/washington-dc-belediye-meclisinden-trumpin-askeri-gecit-torenine-hayir/ overnight viagra online medications. Kidney Disease- Kidney disease may affect things, which are amerikabulteni.com generic sildenafil viagra required for good blood circulation which on the other hand, passive physical therapy is more advanced. An oral medication being used since nineties is levitra uk, which is chemically Sidenafil citrate. As one of the male sex enhancer supplements, the oil also controls premature ejaculations and erectile dysfunctions. generic viagra in australia
Valamint nem csak egy feltételt, egyszerre akár több feltételt is vizsgálhatunk, lássuk erre is egy példát
int a = 10; int b = 5; int main() { if (a==10 and b<a) { cout << "Az a értéke 10 a b értéke pedig kisebb mint 10"; } }
Ahogy láthatjátok létrehoztam még egy változót ami a b nevet kapta és az értéke 5. A feltétel vizsgálat során pedig azt ellenőrzöm hogy az a változó egyenlő-e 10-el ÉS hogy a b változó kisebb-e mint az a változó, ha igen írjon ki egy mondatot. Természetesen itt is használhatunk több fajta operátort nem csak azt vizsgálhatjuk hogy mind a 2 feltétel teljesüljön, azt is vizsgálhatjuk hogy legalább az egyik teljesüljön és szimbólumokat is használhatunk.
and : && – és operátor, mind a 2 feltételnek igaznak kell lenni
or : || – vagy operátor, legalább az egyiknek igaznak kell lenni
A feltétel vizsgálatnak van még egy speciális módja most lássunk erre egy példát.
int a = 15; int b = 10; string c; int main() { c = (a==b) ? "Az a egyenlő b-vel" : "Az a nem egynelő b-vel"; cout << c; }
A következő történik leegyszerűsítve.
feltétel ? igaz : hamis
Azt feltételezzük hogy az a értéke egyenlő a b értékével ám ez úttal IF helyett ? jelet használunk ami úgy nevezett feltétel operátorként funkcionál és leellenőrzi számunkra hogy a feltétel igaz vagy hamis. Beállíthatunk egy-egy választ mind a 2 esetre én itt 2 mondatot állítottam be. Ha a feltétel igaznak bizonyul, a bal oldali válasz jön ki, ha hamisnak a jobb oldali. Ezt a választ pedig egy változóba mentjük, én eben az esetben a c mevű string változóba mentem és kiíratom a képernyőre.
Azt javaslom gyakoroljuk és ha készen állunk, lépjünk tovább a 6. leckére.