diff --git a/du3/program.c b/du3/program.c index 06f5a0c..e5aa706 100644 --- a/du3/program.c +++ b/du3/program.c @@ -67,7 +67,7 @@ int main() num2Temp[0] = '\0'; resultTemp[0] = '\0'; bool foundEqualSign = false; - bool isNotMinus; + bool isNegativeSign = false; char op1 = 'N'; //N = 'None/NIC' @@ -98,21 +98,6 @@ 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; } @@ -126,6 +111,23 @@ int main() } op1 = strBuffer[i]; } + 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 sme na zaciatku num1, num2 alebo vyslednehoCisla, tak sa jedna o minusove znamienko) + if (op1 == 'N' && strlen(num1Temp) == 0) + { + isNegativeSign = true; + } + else if (op1 != 'N' && !foundEqualSign && strlen(num2Temp) == 0) + { + isNegativeSign = true; + } + else if (foundEqualSign && strlen(resultTemp) == 0) + { + isNegativeSign = true; + } + } else { isLineInvalid = true;