This commit is contained in:
Weber 2024-10-14 11:46:51 +00:00
parent e6ddad6e3e
commit 818931c4fb

View File

@ -15,7 +15,6 @@ void inicializuj(KalkulackaZasobnik *kalkulacka) {
bool vloz(KalkulackaZasobnik *kalkulacka, float hodnota) { bool vloz(KalkulackaZasobnik *kalkulacka, float hodnota) {
if (kalkulacka->vrchol >= MAX_VELKOST - 1) { if (kalkulacka->vrchol >= MAX_VELKOST - 1) {
printf("Zásobník je plný, končím...\n");
return false; return false;
} }
kalkulacka->zasobnik[++kalkulacka->vrchol] = hodnota; kalkulacka->zasobnik[++kalkulacka->vrchol] = hodnota;
@ -24,7 +23,6 @@ bool vloz(KalkulackaZasobnik *kalkulacka, float hodnota) {
bool vyber(KalkulackaZasobnik *kalkulacka, float *a, float *b) { bool vyber(KalkulackaZasobnik *kalkulacka, float *a, float *b) {
if (kalkulacka->vrchol < 1) { if (kalkulacka->vrchol < 1) {
printf("Nedostatok hodnôt v zásobníku pre operáciu, končím...\n");
return false; return false;
} }
*a = kalkulacka->zasobnik[kalkulacka->vrchol--]; *a = kalkulacka->zasobnik[kalkulacka->vrchol--];
@ -60,7 +58,6 @@ bool delit(KalkulackaZasobnik *kalkulacka) {
float a, b; float a, b;
if (vyber(kalkulacka, &a, &b)) { if (vyber(kalkulacka, &a, &b)) {
if (a == 0) { if (a == 0) {
printf("Delenie nulou, končím...\n");
return false; return false;
} }
return vloz(kalkulacka, b / a); return vloz(kalkulacka, b / a);
@ -81,11 +78,10 @@ int main() {
char vstup[100]; char vstup[100];
while (true) { while (true) {
printf("Zadajte číslo alebo operáciu (+, -, *, /): ");
fgets(vstup, sizeof(vstup), stdin); fgets(vstup, sizeof(vstup), stdin);
if (vstup[0] == '\n') { if (vstup[0] == '\n') {
printf("žiadny vstup\n"); printf("no input\n");
break; break;
} }
@ -101,29 +97,41 @@ int main() {
case '+': case '+':
if (scitat(&kalkulacka)) { if (scitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
} }
break; break;
case '-': case '-':
if (odcitat(&kalkulacka)) { if (odcitat(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
} }
break; break;
case '*': case '*':
if (nasobit(&kalkulacka)) { if (nasobit(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
} }
break; break;
case '/': case '/':
if (delit(&kalkulacka)) { if (delit(&kalkulacka)) {
zobraz_zasobnik(&kalkulacka); zobraz_zasobnik(&kalkulacka);
} else {
printf("no input\n");
return 0;
} }
break; break;
default: default:
printf("Neplatný vstup, končím...\n"); printf("no input\n");
return 0; return 0;
} }
} else { } else {
printf("Neplatný vstup, končím...\n"); printf("no input\n");
return 0; return 0;
} }
} }