10
This commit is contained in:
parent
016c07efb5
commit
786e86b804
@ -56,11 +56,20 @@ float pop() {
|
||||
}
|
||||
}
|
||||
|
||||
void print_stack() {
|
||||
for (int i = 0; i <= stack_top; i++) {
|
||||
if (i > 0) {
|
||||
printf(" ");
|
||||
}
|
||||
printf("%.2f", stack[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
int main() {
|
||||
char arr[50];
|
||||
char *pend;
|
||||
stack_top = -1;
|
||||
bool first_output = true;
|
||||
|
||||
while (fgets(arr, 50, stdin)) {
|
||||
if (arr[0] == '\n' || arr[0] == EOF) {
|
||||
@ -70,17 +79,10 @@ int main() {
|
||||
if (is_number(arr)) {
|
||||
float number = strtof(arr, &pend);
|
||||
push(number);
|
||||
if (!first_output) {
|
||||
printf(" ");
|
||||
}
|
||||
printf("%.2f", number);
|
||||
first_output = false;
|
||||
print_stack(); // Печать стека после ввода числа
|
||||
}
|
||||
else if (is_operation(arr)) {
|
||||
if (stack_top < 1) {
|
||||
if (!first_output) {
|
||||
printf("\n");
|
||||
}
|
||||
printf("no input\n");
|
||||
return 0;
|
||||
}
|
||||
@ -90,21 +92,14 @@ int main() {
|
||||
char operation = arr[0];
|
||||
float result = calculator(n1, n2, operation);
|
||||
push(result);
|
||||
if (!first_output) {
|
||||
printf(" ");
|
||||
}
|
||||
printf("%.2f", result);
|
||||
first_output = false;
|
||||
print_stack(); // Печать стека после выполнения операции
|
||||
}
|
||||
}
|
||||
|
||||
if (stack_top == 0) {
|
||||
if (!first_output) {
|
||||
printf(" ");
|
||||
}
|
||||
printf("\n%.2f\n", pop());
|
||||
print_stack(); // Печать оставшегося элемента
|
||||
} else {
|
||||
printf("\nno input\n");
|
||||
printf("no input\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user