diff --git a/a1/program.c b/a1/program.c index faf079e..4cbab6c 100644 --- a/a1/program.c +++ b/a1/program.c @@ -4,7 +4,6 @@ #include #define BUFFER_SIZE 100 -#define EPSILON 0.01 // Funkcia na vyhodnotenie výrazu char* evaluate_expression(char* expression) { @@ -17,7 +16,7 @@ char* evaluate_expression(char* expression) { } // Kontrola delenia nulou - if (operator == '/' && num2 == 0) { + if ((operator == '/') && (fabs(num2) < 0.000001)) { return "ZLE"; } @@ -40,10 +39,10 @@ char* evaluate_expression(char* expression) { } // Zaokrúhlenie výsledku na dve desatinné miesta - double rounded_result = round(result * 100) / 100; + result = round(result * 100.0) / 100.0; - // Porovnanie zaokrúhleného výsledku so skutočným výsledkom s pomocou epsilónu - if (fabs(rounded_result - expected_result) < EPSILON) { + // Porovnanie výsledku so skutočným výsledkom + if (result == expected_result) { return "OK"; } else { return "ZLE";