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