From dc6a3a0804fa46ab106876146f40212eaf36b04a Mon Sep 17 00:00:00 2001 From: inex Date: Fri, 13 Mar 2020 13:09:08 +0300 Subject: [PATCH] Add division by zero habdling, fixes #4 --- task2/task2.c | 6 ++++++ 1 file changed, 6 insertions(+) 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;