From a6fe3efa58040535870cfa7f987ab150931d19e4 Mon Sep 17 00:00:00 2001 From: Denis Landa Date: Fri, 14 Mar 2025 10:52:07 +0100 Subject: [PATCH] daco dzive --- du3/program.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 du3/program.c diff --git a/du3/program.c b/du3/program.c new file mode 100644 index 0000000..1ad6fc3 --- /dev/null +++ b/du3/program.c @@ -0,0 +1,67 @@ +#include +#include +#include +#include +#include + + +int main(){ + char riadok[100]; + while(fgets(riadok, sizeof(riadok), stdin)){ + if(riadok[0] == '\n'){ + printf("KONIEC\n"); + break; + } + + char *ptr = riadok; + while(*ptr == ' ')ptr++; + float cislo1 = strtof(ptr, &ptr); + + while(*ptr == ' ')ptr++; + char operacia = *ptr; + ptr++; + + while(*ptr == ' ')ptr++; + float cislo2 = strtof(ptr, &ptr); + + while(*ptr == ' ')ptr++; + if (*ptr != '='){ + printf("CHYBA\n"); + continue; + } + ptr++; + + while(*ptr == ' ')ptr++; + float zadany_vysledok = strtof(ptr, &ptr); + + float skutocny_vysledok = 0; + int chyba = 0; + + switch(operacia){ + case '+': skutocny_vysledok = cislo1 + cislo2; break; + case '-': skutocny_vysledok = cislo1 - cislo2; break; + case '*': skutocny_vysledok = cislo1 * cislo2; break; + case '/': + if (cislo2 == 0){ + chyba = 1; + } else { + skutocny_vysledok = cislo1 / cislo2; + } + break; + default: chyba = 1; + } + + if (chyba){ + printf("CHYBA\n"); + continue; + } + + if (zaokruhli(skutocny_vysledok) == zaokruhli(zadany_vysledok)) { + printf("OK\n"); + } else { + printf("ZLE\n"); + } + } + return 0; +} +