This commit is contained in:
Deinerovych 2024-10-16 22:16:18 +02:00
parent 15104fb2f3
commit c45f8163d5

View File

@ -33,7 +33,7 @@ float calculator(float n1, float n2, char operation) {
return n1 / n2;
} else {
printf("division by zero\n");
return n1; // Возвращаем первое число, чтобы стек не был нарушен
return n1;
}
}
return 0;
@ -43,7 +43,7 @@ void push(float number) {
if (stack_top < STACK_SIZE - 1) {
stack[++stack_top] = number;
} else {
printf("Error: stack overflow\n");
printf("stack overflow\n");
}
}
@ -51,19 +51,21 @@ float pop() {
if (stack_top >= 0) {
return stack[stack_top--];
} else {
printf("Error: stack is empty\n");
printf("stack is empty\n");
return 0;
}
}
void print_stack() {
for (int i = 0; i <= stack_top; i++) {
printf("%.2f", stack[i]);
if (i < stack_top) {
printf(" ");
if (stack_top >= 0) {
for (int i = 0; i <= stack_top; i++) {
printf("%.2f", stack[i]);
if (i < stack_top) {
printf(" ");
}
}
printf("\n");
}
printf(" \n");
}
int main() {
@ -93,15 +95,12 @@ int main() {
float result = calculator(n1, n2, operation);
if (!(operation == '/' && n2 == 0)) {
push(result);
print_stack();
}
print_stack();
}
}
// Проверяем, нужно ли выводить "no input"
if (stack_top == -1) {
printf("no input\n");
}
printf("no input\n");
return 0;
}