test
This commit is contained in:
parent
884ed60648
commit
5715573e8f
@ -87,6 +87,11 @@ bool je_platne_cislo(const char *vstup) {
|
|||||||
return *koniec == '\n' || *koniec == '\0';
|
return *koniec == '\n' || *koniec == '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Funkcia na kontrolu, či je v zásobníku dostatok operantov pre operáciu
|
||||||
|
bool dost_operantov(KalkulackaZasobnik *kalkulacka) {
|
||||||
|
return kalkulacka->vrchol >= 1; // Potrebujeme aspoň 2 operanty na operáciu
|
||||||
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
KalkulackaZasobnik kalkulacka;
|
KalkulackaZasobnik kalkulacka;
|
||||||
inicializuj(&kalkulacka);
|
inicializuj(&kalkulacka);
|
||||||
@ -100,13 +105,18 @@ int main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (je_platne_cislo(vstup)) {
|
if (je_platne_cislo(vstup)) {
|
||||||
float hodnota = strtof(vstup, NULL); // Prevedieme platné číslo
|
float hodnota = strtof(vstup, NULL);
|
||||||
vloz(&kalkulacka, hodnota);
|
vloz(&kalkulacka, hodnota);
|
||||||
zobraz_zasobnik(&kalkulacka);
|
zobraz_zasobnik(&kalkulacka);
|
||||||
}
|
}
|
||||||
else if (strlen(vstup) == 2 && je_platna_operacia(vstup[0])) { // Kontrolujeme, či vstup je operácia
|
else if (strlen(vstup) == 2 && je_platna_operacia(vstup[0])) {
|
||||||
char operacia = vstup[0];
|
char operacia = vstup[0];
|
||||||
|
|
||||||
|
if (!dost_operantov(&kalkulacka)) {
|
||||||
|
printf("not enough operands\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
switch (operacia) {
|
switch (operacia) {
|
||||||
case '+':
|
case '+':
|
||||||
if (scitat(&kalkulacka)) {
|
if (scitat(&kalkulacka)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user