diff --git a/du4/program.c b/du4/program.c index 9b035ee..5055940 100644 --- a/du4/program.c +++ b/du4/program.c @@ -65,16 +65,16 @@ int main(){ LABEL: switch(operation){ case 1: - printf("%s\n", (strtof(number1, &ptr) + strtof(number2, &ptr) == strtof(result, &ptr)) ? "OK" : "ZLE"); + printf("%s\n", (strtof(number1, &ptr) + strtof(number2, &ptr) > strtof(result, &ptr) - 0.001 && strtof(number1, &ptr) + strtof(number2, &ptr) < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; case 2: - printf("%s\n", (strtof(number1, &ptr) - strtof(number2, &ptr) == strtof(result, &ptr)) ? "OK" : "ZLE"); + printf("%s\n", (strtof(number1, &ptr) + strtof(number2, &ptr) > strtof(result, &ptr) - 0.001 && strtof(number1, &ptr) - strtof(number2, &ptr) < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; case 3: - printf("%s\n", (strtof(number1, &ptr) * strtof(number2, &ptr) == strtof(result, &ptr)) ? "OK" : "ZLE"); + printf("%s\n", (strtof(number1, &ptr) + strtof(number2, &ptr) > strtof(result, &ptr) - 0.001 && strtof(number1, &ptr) * strtof(number2, &ptr) < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; case 4: - printf("%s\n", (strtof(number1, &ptr) / strtof(number2, &ptr) == strtof(result, &ptr)) ? "OK" : "ZLE"); + printf("%s\n", (strtof(number1, &ptr) + strtof(number2, &ptr) > strtof(result, &ptr) - 0.001 && strtof(number1, &ptr) / strtof(number2, &ptr) < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; default: printf("CHYBA");