Обновить cv3/program.c

This commit is contained in:
Yevhen Kozirovskyi 2024-10-17 17:07:03 +00:00
parent 863f360310
commit 85f66425f9

View File

@ -51,7 +51,7 @@ int main() {
if (c == '\n' && *bufer != '\n' && *bufer != ' ') { if (c == '\n' && *bufer != '\n' && *bufer != ' ') {
push(&stek, chislo); push(&stek, chislo);
} else if (c == '+') { } else if (c == '+' || c == '-' || c == '*' || c == '/') {
if (isEmpty(&stek)) { if (isEmpty(&stek)) {
printf("no input\n"); printf("no input\n");
exit(1); exit(1);
@ -62,47 +62,19 @@ int main() {
exit(1); exit(1);
} }
double a = pop(&stek); double a = pop(&stek);
push(&stek, a + b); if (c == '+') {
} else if (c == '-') { push(&stek, a + b);
if (isEmpty(&stek)) { } else if (c == '-') {
printf("no input\n"); push(&stek, a - b);
exit(1); } else if (c == '*') {
push(&stek, a * b);
} else if (c == '/') {
if (b == 0) {
printf("division by zero\n");
return 0;
}
push(&stek, a / b);
} }
double b = pop(&stek);
if (isEmpty(&stek)) {
printf("no input\n");
exit(1);
}
double a = pop(&stek);
push(&stek, a - b);
} else if (c == '*') {
if (isEmpty(&stek)) {
printf("no input\n");
exit(1);
}
double b = pop(&stek);
if (isEmpty(&stek)) {
printf("no input\n");
exit(1);
}
double a = pop(&stek);
push(&stek, a * b);
} else if (c == '/') {
if (isEmpty(&stek)) {
printf("no input\n");
exit(1);
}
double b = pop(&stek);
if (isEmpty(&stek)) {
printf("no input\n");
exit(1);
}
double a = pop(&stek);
if (b == 0) {
printf("division by zero\n");
return 0;
}
push(&stek, a / b);
} else if (isalpha(c)) { } else if (isalpha(c)) {
printf("bad input\n"); printf("bad input\n");
return 0; return 0;