This commit is contained in:
Alina Konoval 2025-10-12 14:34:47 +02:00
parent 7f48eaebd3
commit b19619d4bb

View File

@ -27,20 +27,16 @@ void push_stack(struct stack *s, float value) {
void p_stack(struct stack *s) {
for (int i = 0; i < s->size; i++) {
printf("%.2f", s->values[i]);
(fabsf(s->values[i] - (int)s->values[i]) < 1e-6) ?
printf("%d", (int)s->values[i]) : printf("%g", s->values[i]);
if (i < s->size - 1) printf(" ");
}
printf("\n");
}
void p_number(float value) {
(fabsf(value - (int)value) < 1e-6) ? printf("%d", (int)value) : printf("%g", value);
}
float remove_stack(struct stack *s) {
if (s->size <= 0) {
printf("Chyba: prazdny zasobnik.\n");
printf("Chyba: prázdny zásobník.\n");
exit(1);
}
return s->values[--s->size];
@ -50,9 +46,18 @@ int main() {
struct stack mystack = { .size = 0 };
char input[100];
while (fgets(input, sizeof(input), stdin)) {
input[strcspn(input, "\n")] = 0;
if (!*input) continue;
while (1) {
printf("> ");
fflush(stdout);
if (!fgets(input, sizeof(input), stdin)) break;
input[strcspn(input, "\n")] = 0;
if (!*input) {
printf("no input \n");
break;
}
char *endptr;
float value = strtof(input, &endptr);