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