#include #include // Funkcije za različite operacije int sabiranje(int a, int b) { return a + b; } int oduzimanje(int a, int b) { return a - b; } int mnozenje(int a, int b) { return a * b; } int deljenje(int a, int b) { if (b == 0) { printf("Greška: Deljenje sa nulom!\n"); return 0; } return a / b; } int stepen(int a, int b) { int rezultat = 1; for (int i = 0; i < b; i++) { rezultat *= a; } return rezultat; } int main() { // Niz pokazivača na funkcije int (*operacije[5])(int, int) = { &sabiranje, &oduzimanje, &mnozenje, &deljenje, &stepen }; int prvi_broj, drugi_broj; int op; // Korak 1: Unos prvog broja printf("Unesite prvi broj: "); scanf("%d", &prvi_broj); // Korak 2: Unos drugog broja printf("Unesite drugi broj: "); scanf("%d", &drugi_broj); // Korak 3: Izbor operacije printf("\nOdaberite operaciju:\n"); printf("0 - Sabiranje\n"); printf("1 - Oduzimanje\n"); printf("2 - Mnozenje\n"); printf("3 - Deljenje\n"); printf("4 - Stepen (a na stepen b)\n"); scanf("%d", &op); // Korak 4: Validacija izbora if (op < 0 || op > 4) { printf("Greška: Nevažeći izbor!\n"); return 1; } // Korak 5: Pozivanje funkcije kroz niz pokazivača i ispis rezultata printf("Rezultat: %d\n", (*operacije[op])(prvi_broj, drugi_broj)); }