diff --git a/du3/program.c b/du3/program.c index df1c3c1..6baddfb 100644 --- a/du3/program.c +++ b/du3/program.c @@ -2,51 +2,56 @@ #include #include +// Funkcia kontroluje, či zadaný znak je operátor (+, -, *, /) bool is_operation(char op) { return op == '+' || op == '-' || op == '*' || op == '/'; } int main() { - char line[100]; + char line[100]; // Pole na uloženie vstupného riadku - - while(true) { + while(true) { // Nekonečný cyklus na spracovanie vstupu + // Načítame vstupný riadok (ak je NULL alebo prázdny, ukončíme cyklus) if(fgets(line, sizeof(line), stdin) == NULL || line[0] == '\n') { break; } - double firstNumber = 0; - double secondNumber = 0; - double ans = 0; - char op; - if(sscanf(line, "%lf %c %lf = %lf", &firstNumber, &op, &secondNumber, &ans) != 4 || !is_operation(op)) { + + float firstNumber = 0; // Premenná na prvé číslo + float secondNumber = 0; // Premenná na druhé číslo + float ans = 0; // Očakávaný výsledok + char op; // Znak operácie + + // Parsujeme vstup vo formáte: číslo1 operátor číslo2 = očakávaný_výsledok + if(sscanf(line, "%f %c %f = %f", &firstNumber, &op, &secondNumber, &ans) != 4 || !is_operation(op)) { printf("CHYBA\n"); - continue; + continue; } - double result = 0; + float result = 0; // Premenná na uloženie výsledku operácie + // Vykonáme výpočet podľa operátora if(op == '+') { - result = firstNumber + secondNumber; + result = firstNumber + secondNumber; // Sčítanie } else if(op == '-') { - result = firstNumber - secondNumber; + result = firstNumber - secondNumber; // Odčítanie } else if(op == '*') { - result = firstNumber * secondNumber; + result = firstNumber * secondNumber; // Násobenie } else { - if(secondNumber != 0) { - result = firstNumber / secondNumber; + if(secondNumber != 0) { // Kontrola delenia nulou + result = firstNumber / secondNumber; // Delenie } } - result = roundf(result * 100) / 100; + // Zaokrúhlenie výsledku na dve desatinné miesta + result = roundf(result * 100) / 100; + // Skontrolujeme, či sa vypočítaný výsledok zhoduje s očakávaným if (ans == result) { - printf("OK\n"); + printf("OK\n"); // Ak sa zhoduje, vypíšeme "OK" } else { - printf("ZLE\n"); + printf("ZLE\n"); // Ak nie, vypíšeme "ZLE" } - } - return 0; + return 0; // Ukončenie programu } -