===== Elágazások ===== Az elágazások segítségével a program bizonyos feltételek teljesülése esetén különböző utasításokat hajt végre. **Az if szerkezet alap szintaxisa:** if (feltetel) { // akkor fut le, ha a feltétel igaz (nem 0) } Példa: int szam = 5; if (szam > 0) { printf("A szam pozitiv.\n"); } **if – else** Ha a feltétel nem teljesül, akkor a másik ág fut le. if (feltetel) { // igaz ág } else { // hamis ág } Példa: int szam = -3; if (szam >= 0) { printf("A szam nem negativ.\n"); } else { printf("A szam negativ.\n"); } **if – else if – else** Több feltétel vizsgálatára használható. if (feltetel1) { // ha feltetel1 igaz } else if (feltetel2) { // ha feltetel2 igaz } else { // ha egyik sem igaz } Példa: int jegy = 3; if (jegy == 5) { printf("Jeles!\n"); } else if (jegy == 4) { printf("Jo!\n"); } else if (jegy == 3) { printf("Kozepes!\n"); } else if (jegy == 2) { printf("Elegseges!\n"); } else { printf("Elegtetlen!\n"); } **switch-case szerkezet** A switch több különböző érték szerint választ ágat. switch (valtozo) { case ertek1: // utasitasok break; case ertek2: // utasitasok break; ... default: // ha egyik sem egyezik } Példa: int nap = 3; switch (nap) { case 1: printf("Hetfo\n"); break; case 2: printf("Kedd\n"); break; case 3: printf("Szerda\n"); break; default: printf("Ismeretlen nap\n"); } **Számológép készítése** Feladat: Írjunk egyszerű számológépet, ami két számot olvas be és a felhasználó által választott műveletet elvégzi (+, -, *, /). #include int main() { double a, b; char muvelet; printf("Adj meg ket szamot: "); scanf("%lf %lf", &a, &b); printf("Valassz muveletet (+, -, *, /): "); scanf(" %c", &muvelet); // fontos a szóköz a %c előtt! switch (muvelet) { case '+': printf("Eredmeny: %.2lf\n", a + b); break; case '-': printf("Eredmeny: %.2lf\n", a - b); break; case '*': printf("Eredmeny: %.2lf\n", a * b); break; case '/': if (b != 0) printf("Eredmeny: %.2lf\n", a / b); else printf("Hiba: Nullaval nem lehet osztani!\n"); break; default: printf("Ervenytelen muvelet!\n"); } return 0; } ===== Gyakorlás ===== #include int main(void) { int x; scanf("%d", &x); //szám bekérése //Pozitív, negatív vagy nulla vizsgálata if (x > 0) { printf("Pozitív\n"); } else if (x < 0) { printf("Negatív\n"); } else { printf("Nulla\n"); } //Páros/páratlan vizsgálat if (x % 2 == 0) { printf("Páros\n"); } else { printf("Páratlan\n"); } return 0; } ---- #include //Két szám összehaosnlítása int main(void) { int a, b; scanf("%d %d", &a, &b); if (a > b) { printf("%d nagyobb mint %d\n", a, b); } else if (a < b) { printf("%d nagyobb mint %d\n", b, a); } else { printf("A két szám egyenlő\n"); } return 0; } ---- #include //Szökőév vizsgálat int main(void) { int ev; scanf("%d", &ev); if ((ev % 400 == 0) || (ev % 4 == 0 && ev % 100 != 0)) { printf("Szökőév\n"); } else { printf("Nem szökőév\n"); } return 0; } ---- #include //Háromszög int main(void) { int a, b, c; scanf("%d %d %d", &a, &b, &c); if (a + b > c && a + c > b && b + c > a) { printf("Szerkeszthető háromszög.\n"); } else { printf("Nem szerkeszthető háromszög.\n"); return 0; } if (a == b && b == c) { printf("Egyenlő oldalú háromszög\n"); } else if (a == b || b == c || a == c) { printf("Egyenlő szárú háromszög\n"); } else { printf("Általános háromszög\n"); } return 0; }