diff --git a/a1/program.c b/a1/program.c index 0a2445f..09673b0 100644 --- a/a1/program.c +++ b/a1/program.c @@ -2,6 +2,7 @@ #include #include #include +#include int main() { char line[100]; @@ -28,10 +29,7 @@ int main() { } // Parse the line - if (sscanf(line, "%lf%c%lf=%lf", &num1, &op, &num2, &expected_result) != 4) { - printf("CHYBA\n"); - continue; - } + sscanf(line, "%lf%c%lf=%lf", &num1, &op, &num2, &expected_result); // Check if the input is valid if (op != '+' && op != '-' && op != '*' && op != '/') { @@ -61,8 +59,12 @@ int main() { break; } + // Round both result and expected_result to two decimal places + result = round(result * 100) / 100.0; + expected_result = round(expected_result * 100) / 100.0; + // Check if the result is correct - if (((int)(result * 100 + 0.5) / 100.0) == expected_result) { + if (result == expected_result) { printf("OK\n"); } else { printf("ZLE\n");