User Tools

Site Tools


tanszek:oktatas:szamitastechnika:elagazasok

This is an old revision of the document!


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 <stdio.h>

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

tanszek/oktatas/szamitastechnika/elagazasok.1758700762.txt.gz · Last modified: 2025/09/24 07:59 by szabom