diff --git a/calculadora/calc b/calculadora/calc index cb2cd00fc38a60d043c73f4646d78a97ebe4c12f..8c5a63b8a734ec5b179fe7f08780936ebf71cebd 100755 Binary files a/calculadora/calc and b/calculadora/calc differ diff --git a/calculadora/calculadora.c b/calculadora/calculadora.c index 135f58c0fc72351059f872d9e1f379d61358cdce..e8384e0d82564c19583ab1cdacf292f7d010f32d 100644 --- a/calculadora/calculadora.c +++ b/calculadora/calculadora.c @@ -45,8 +45,8 @@ int converte_operador(t_operador *op, char c) { /* Retorna 1 se o operador op1 tem precedencia sobre o operador op2. Retorna 0 caso contrario. */ -int precede(t_operador op1, t_operador op2) { - if((op1 - op2) > 1.0) +int precedencia_maior_ou_igual(t_operador op1, t_operador op2) { + if(floor(op1) >= floor(op2)) return 1; return 0; } @@ -224,7 +224,7 @@ int main() { ao topo da pilha de operadores. */ while(topo(&op_topo, pilha_operadores) && op_topo != PAR && - precede(op_topo, operador) && + precedencia_maior_ou_igual(op_topo, operador) && !flag_erro) { /* Enquando o topo da pilha tiver precedencia, desempilha e processa o operador do topo da pilha. */ diff --git a/calculadora/calculadora.o b/calculadora/calculadora.o index 75aa8ca8394defc602ff5f894730255f6ec58fe2..fc6f3bd3442be1b6a4b9972ea64ae897f738878c 100644 Binary files a/calculadora/calculadora.o and b/calculadora/calculadora.o differ