From 7870d6c4ef563f9a17a13eadc2bf44786f65e653 Mon Sep 17 00:00:00 2001 From: Mykola Syniavskyi Date: Fri, 14 Mar 2025 00:57:52 +0000 Subject: [PATCH] =?UTF-8?q?P=C5=99idat=20du3/program.c?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- du3/program.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 du3/program.c diff --git a/du3/program.c b/du3/program.c new file mode 100644 index 0000000..40802fa --- /dev/null +++ b/du3/program.c @@ -0,0 +1,59 @@ +#include +#include + +#define MAX_LENGTH 100 + +int check(char* input); + +int main() { + char input[MAX_LENGTH]; + while (fgets(input,MAX_LENGTH, stdin)) { + if (input[0] == '\n') { + break; + } + input[strcspn(input, "\n")] = '\0'; + int resultat =check(input); + if (resultat ==1) { + printf("OK\n"); + } else { + if (resultat == -1) { + printf("ZLE\n"); + } else { + printf("CHYBA\n"); + } + } + } + return 0; +} + +int check(char* input) { + double number1, number2, resultat, givenResult; + char znak; + int a=0; + a=sscanf(input, " %lf %c %lf = %lf ", &number1, &znak, &number2, &givenResult); + if (a != 4) { + return 0; + }else { + switch (znak) { + case '+': + resultat=number1+number2; + break; + case '-': + resultat=number1-number2; + break; + case '*': + resultat=number1*number2; + break; + case '/': + if (number2 == 0) { + return 0; + }else{resultat=number1/number2;} + break; + default: + } + } + if (resultat-givenResult ==0 ) { + return 1; + } else { return -1; + } + } \ No newline at end of file