Tzriming
This commit is contained in:
parent
068e7970a2
commit
3b36ad311e
@ -62,10 +62,10 @@ void process_operations(struct stack* stack) {
|
||||
strcmp(line, "*") == 0 || strcmp(line, "/") == 0)) {
|
||||
// ked' mame dostatny pocet operandov, tak zobrame ostatne dva cisla z zasobniku
|
||||
if (stack->size >= 2) {
|
||||
float b = pop_stack(stack);
|
||||
float a = pop_stack(stack);
|
||||
float last = pop_stack(stack);
|
||||
float second_last = pop_stack(stack);
|
||||
/// prerusime prgram a vypiseme chybu ked' mame podel' na 0
|
||||
if (line[0] == '/' && b == 0.0F)
|
||||
if (line[0] == '/' && last == 0.0F)
|
||||
{
|
||||
printf("division by zero\n");
|
||||
return;
|
||||
@ -74,10 +74,10 @@ void process_operations(struct stack* stack) {
|
||||
// na zaciatku ide podmienka, potom ? operator, vysledok a : operator, ktory vysvetl;je co robit v inakom pripade
|
||||
|
||||
// 0 tu ako keby defaultny pripad; nedojde do neho
|
||||
float res = (line[0] == '+') ? a + b :
|
||||
(line[0] == '-') ? a - b :
|
||||
(line[0] == '*') ? a * b :
|
||||
(line[0] == '/') ? a / b : 0;
|
||||
float res = (line[0] == '+') ? second_last + last :
|
||||
(line[0] == '-') ? second_last - last :
|
||||
(line[0] == '*') ? second_last * last :
|
||||
(line[0] == '/') ? second_last / last : 0;
|
||||
|
||||
/// ked' operaciu podarilo urobit', pridame cislo do zasobniku a vypiseme zasobnik
|
||||
push_stack(stack, res);
|
||||
|
Loading…
Reference in New Issue
Block a user