Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 5 da Aula 3 - Tipos de Dados e Operações matemáticas

#include <stdio.h>

int main(){
    int operacao;
    double x;
    double y;
    double calculo;

    printf("escolha qual o tipo de operacao deseja realizar: \n");
    printf("(1) ADICAO (2) SUBTRACAO (3) MULTIPLICACAO (4) DIVISAO");
    scanf("%d", &operacao);
    printf("escolha dois numeros: \n");
    scanf("%f", &x);
    scanf("%f", &y);

    if (operacao == 1) {
        calculo = x + y;

    } else if(operacao = 2) {
        calculo = x - y;

    } else if (operacao = 3){
        calculo = x * y;

    } else if (operacao = 4){
        calculo = x / y;
    }

    printf("seu resultado foi: %f\n", calculo);
}
1 resposta
solução!

Oi Adler, tudo bem? Não funciona por causa da questão dos tipos. C tem tipagem forte, você não pode pedir em uma função um double e passar para ela um float.

Para o código funcionar, você pode mudar o tipo das suas váriaveis para float, ou mudar o operador no scanf(), em vez de %f (que espera um float) por um %lf (que espera um double).

Conseguiu entender? Continue estudando!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software