Ir para conteúdo
Fórum Script Brasil

dyam96

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre dyam96

dyam96's Achievements

0

Reputação

  1. Olá! Estou fazendo um exercício que pede para montar um programa com funções para operações básicas. O padrão de entrada é: "1.5 1 + 2 * representa ((1.5 + 1) * 2)" "Entrada: Uma sequência de operandos (números) e operadores (sinais ‘+’, ‘-‘, ‘/’, ‘*’) separados por um espaço ‘ ‘ representando uma operação composta a ser resolvida. Considere que sempre haverá pelo menos uma operação básica para ser realizada (i.e. dois operandos e um operador)." Meu programa está logo abaixo, estou tendo problemas para ele parar após ler o último operador, pois o programa fica esperando outro float depois disso. Se alguém puder ajudar, agradeço desde já! #include <stdio.h> float Soma(float num1, float num2); float Subtracao(float num1, float num2); float Divisao(float num1, float num2); float Multiplicacao(float num1, float num2); float Operacao(float num1, float num2, char c); int main(){ float num1, num2, final=0; char c; scanf(" %f %f %c", &num1, &num2, &c); float result; result = Operacao(num1, num2, c); num1 = result; final = result; while(((scanf(" %f", &num2))!=0)){ if(scanf(" %c", &c)!=0){ result = Operacao(num1, num2, c); num1 = result; final = result; } } printf("%.2f", final); return 0; } float Soma(float num1, float num2){ float a = num1 + num2; return a; } float Subtracao(float num1, float num2){ float a = num1 - num2; return a; } float Divisao(float num1, float num2){ float a = num1/num2; return a; } float Multiplicacao(float num1, float num2){ float a = num1*num2; return a; } float Operacao(float num1, float num2, char c){ float result; if(c=='+'){ result = Soma(num1, num2); } if(c=='-'){ result = Subtracao(num1, num1); } if(c=='/'){ result = Divisao(num1, num1); } if(c=='*'){ result = Multiplicacao(num1, num2); } return result; }
×
×
  • Criar Novo...