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
