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)) {
|
strcmp(line, "*") == 0 || strcmp(line, "/") == 0)) {
|
||||||
// ked' mame dostatny pocet operandov, tak zobrame ostatne dva cisla z zasobniku
|
// ked' mame dostatny pocet operandov, tak zobrame ostatne dva cisla z zasobniku
|
||||||
if (stack->size >= 2) {
|
if (stack->size >= 2) {
|
||||||
float b = pop_stack(stack);
|
float last = pop_stack(stack);
|
||||||
float a = pop_stack(stack);
|
float second_last = pop_stack(stack);
|
||||||
/// prerusime prgram a vypiseme chybu ked' mame podel' na 0
|
/// 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");
|
printf("division by zero\n");
|
||||||
return;
|
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
|
// 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
|
// 0 tu ako keby defaultny pripad; nedojde do neho
|
||||||
float res = (line[0] == '+') ? a + b :
|
float res = (line[0] == '+') ? second_last + last :
|
||||||
(line[0] == '-') ? a - b :
|
(line[0] == '-') ? second_last - last :
|
||||||
(line[0] == '*') ? a * b :
|
(line[0] == '*') ? second_last * last :
|
||||||
(line[0] == '/') ? a / b : 0;
|
(line[0] == '/') ? second_last / last : 0;
|
||||||
|
|
||||||
/// ked' operaciu podarilo urobit', pridame cislo do zasobniku a vypiseme zasobnik
|
/// ked' operaciu podarilo urobit', pridame cislo do zasobniku a vypiseme zasobnik
|
||||||
push_stack(stack, res);
|
push_stack(stack, res);
|
||||||
|
Loading…
Reference in New Issue
Block a user