This commit is contained in:
Weber 2024-10-14 13:52:30 +00:00
parent 75494da36c
commit 45727a1bc9

View File

@ -1,6 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#define MAX_VELKOST 10
@ -58,7 +59,7 @@ bool delit(KalkulackaZasobnik *kalkulacka) {
float a, b;
if (vyber(kalkulacka, &a, &b)) {
if (a == 0) {
return false;
return false;
}
return vloz(kalkulacka, b / a);
}
@ -85,20 +86,28 @@ int main() {
fgets(vstup, sizeof(vstup), stdin);
if (vstup[0] == '\n') {
break;
break;
}
float hodnota;
char operacia;
char *zvysok;
if ((sscanf(vstup, "%f", &hodnota) == 1) && (strtok(vstup, " \n") != NULL)) {
// Kontrolujeme, či za číslom nie je ďalší neplatný vstup
if (strtok(NULL, " \n") == NULL) {
vloz(&kalkulacka, hodnota);
zobraz_zasobnik(&kalkulacka);
} else {
printf("bad input\n");
return 0;
}
}
if (sscanf(vstup, "%f", &hodnota) == 1) {
vloz(&kalkulacka, hodnota);
printf("%.2f\n", hodnota);
}
else if (sscanf(vstup, "%c", &operacia) == 1) {
if (!je_platna_operacia(operacia)) {
printf("bad input\n");
continue;
return 0;
}
switch (operacia) {
case '+':
@ -143,7 +152,7 @@ int main() {
}
} else {
printf("bad input\n");
continue; // Zabezpečíme, aby sa cyklus opakoval
return 0;
}
}