diff --git a/task2/task2.c b/task2/task2.c index ca635db..85a9726 100644 --- a/task2/task2.c +++ b/task2/task2.c @@ -104,6 +104,9 @@ int parse(char *s, STACK* stack) { add(stack); return 0; } else if (*s == '/') { + if ((stack -> st[(stack -> cnt)-1]) == 0) { + return -2; + } divide(stack); return 0; } else if (*s == 'x') { @@ -130,6 +133,9 @@ int main(int argc, char **argv) { if (error == -1) { fprintf(stderr, "Error parsing operand.\n"); return(1); + } else if (error == -2) { + fprintf(stderr, "Division by zero!"); + return(2); } } int i;