From 623783ebc4d6610d99d9d69cf5ffb5639724acf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vl=C4=8Dek?= Date: Thu, 19 Mar 2026 02:16:58 +0000 Subject: [PATCH] Aktualizovat du3/program.c --- du3/program.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/du3/program.c b/du3/program.c index d07ebe8..06f5a0c 100644 --- a/du3/program.c +++ b/du3/program.c @@ -6,6 +6,7 @@ #include #define SIZE 128 +#define TEMPBUFFERSIZE 32 //kontrola, ze ci vycitane informacie su aritmeticky spravne //VRACIA: int: -1 (CHYBA), 0 (False), 1 (True) @@ -61,11 +62,12 @@ int main() { bool isLineInvalid = false; //docasne 'char' premeny - char num1Temp[10], num2Temp[10], resultTemp[10]; + char num1Temp[TEMPBUFFERSIZE], num2Temp[TEMPBUFFERSIZE], resultTemp[TEMPBUFFERSIZE]; num1Temp[0] = '\0'; num2Temp[0] = '\0'; resultTemp[0] = '\0'; bool foundEqualSign = false; + bool isNotMinus; char op1 = 'N'; //N = 'None/NIC' @@ -96,6 +98,21 @@ int main() } else if (strBuffer[i] == '=') { + //kontrola - zistenie, ze ci znak '-' symbolizuje zapornu hodnotu (-456) alebo arit. operaciu minus + //zistujeme to na zaklade toho, kde sme v riadku, ak na zaciatku + if (op1 == 'N' && strlen(num1Temp) == 0) + { + isNotMinus = true; + } + // + else if (op1 != 'N' && !foundEqualSign && strlen(num2Temp) == 0) + { + isNotMinus; + } + else if (foundEqualSign && strlen(resultTemp) == 0) + { + isNotMinus; + } foundEqualSign = true; continue; }