diff --git a/du4/program.c b/du4/program.c index 9a243f0..53c882e 100644 --- a/du4/program.c +++ b/du4/program.c @@ -25,11 +25,18 @@ int main() { break; } for (int i = 0; i < strlen(znaky); i++) { - if (znaky[i] == '*' || znaky[i] == '/' || znaky[i] == '-' || znaky[i] == '+' || znaky[i] == '=') { + if (znaky[i] == '*' || znaky[i] == '/' || znaky[i] == '+' || znaky[i] == '=') { symbol[sym] = znaky[i]; znaky[i] = ' '; sym++; } + if(znaky[i] == '-'){ + if(znaky[i - 1] == ' ' && znaky[i + 1] == ' '){ + symbol[sym] = znaky[i]; + znaky[i] = ' '; + sym++; + } + } } zaciatok_cisla = znaky; while (*zaciatok_cisla != '\0') { @@ -52,19 +59,24 @@ int main() { } } } - if(symbol[sym - 2] == '+'){ + int p = 0; + for(int j = 0; j < sym; j++){ + if(symbol[j] == '=') + p = j; + } + if(symbol[p - 1] == '+'){ sr = a + b; //printf("%2.f", sr); } - if(symbol[sym - 2] == '-'){ + if(symbol[p - 1] == '-'){ sr = a - b; //printf("%2.f", sr); } - if(symbol[sym - 2] == '*'){ + if(symbol[p - 1] == '*'){ sr = a * b; //printf("%2.f", sr); } - if(symbol[sym - 2] == '/'){ + if(symbol[p - 1] == '/'){ sr = a / b; //printf("%2.f", sr); }