From f39dea1f679c0149904f799b5777df3e0212977f Mon Sep 17 00:00:00 2001 From: Oleksandr Hryshchenko Date: Thu, 1 Apr 2021 15:39:27 +0000 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20'du4/program.c'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ^^ --- du4/program.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/du4/program.c b/du4/program.c index 1406a7d..44cd1a9 100644 --- a/du4/program.c +++ b/du4/program.c @@ -3,6 +3,7 @@ #include #include #include +#include int main() { char* input = (char*) calloc(100, sizeof(char)); @@ -76,16 +77,16 @@ int main() { LABEL: switch(operation){ case 1: - 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"); + printf("%s\n", (roundf(strtof(number1, &ptr) + strtof(number2, &ptr)*100)/100 > strtof(result, &ptr) - 0.001 && roundf(strtof(number1, &ptr) + strtof(number2, &ptr)*100)/100 < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; case 2: - 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"); + printf("%s\n", (roundf(strtof(number1, &ptr) - strtof(number2, &ptr)*100)/100 > strtof(result, &ptr) - 0.001 && roundf(strtof(number1, &ptr) - strtof(number2, &ptr)*100)/100 < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; case 3: - 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"); + printf("%s\n", (roundf(strtof(number1, &ptr) * strtof(number2, &ptr)*100)/100 > strtof(result, &ptr) - 0.001 && roundf(strtof(number1, &ptr) * strtof(number2, &ptr)*100)/100 < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; case 4: - 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"); + printf("%s\n", (roundf(strtof(number1, &ptr) / strtof(number2, &ptr)*100)/100 > strtof(result, &ptr) - 0.001 && roundf(strtof(number1, &ptr) / strtof(number2, &ptr)*100)/100 < strtof(result, &ptr) + 0.001) ? "OK" : "ZLE"); break; default: printf("CHYBA\n");