From 73092b0602784c950e2009778bbe5a1c7db7d8e9 Mon Sep 17 00:00:00 2001 From: Rudolf Zambory Date: Fri, 14 Mar 2025 09:53:54 +0100 Subject: [PATCH] gfs --- du3/program.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 du3/program.c diff --git a/du3/program.c b/du3/program.c new file mode 100644 index 0000000..bc5133b --- /dev/null +++ b/du3/program.c @@ -0,0 +1,41 @@ +#include +#include +#include +#include +#include + +int main() { + char riadok[1000]; + double cislo1, cislo2, vysledok, ocakavany; + char ligma; + + while (fgets(riadok, 1000, stdin) && riadok[0] != '\n') { + if (sscanf(riadok, "%lf %c %lf = %lf", &cislo1, &ligma, &cislo2, &ocakavany) != 4) { + printf("CHYBA\n"); + continue; + } + + if (ligma != '+' && ligma != '-' && ligma != '*' && ligma != '/') { + printf("CHYBA\n"); + continue; + } + + if (ligma == '/' && cislo2 == 0) { + printf("CHYBA\n"); + continue; + } + + switch (ligma) { + case '+': vysledok = cislo1 + cislo2; break; + case '-': vysledok = cislo1 - cislo2; break; + case '*': vysledok = cislo1 * cislo2; break; + case '/': vysledok = cislo1 / cislo2; break; + } + + vysledok = round(vysledok * 100) / 100; + ocakavany = round(ocakavany * 100) / 100; + + printf(fabs(vysledok - ocakavany) < 0.001 ? "OK\n" : "ZLE\n"); + } + return 0; +}