Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Atividade da calculadora

Boa noite,

Estou com uma dúvida sobre a atividade da calculadora. Eu gostaria de utilizar números com casas decimais para a entrada de valores para a conta. Porém, ao utilizar o double, os valores não estão sendo acatados pela função scanf. O que pode estar errado?

#include <stdio.h>
#include <stdlib.h>

int main() {
    printf("***************************\n");
    printf("*Bem vindo a calculadora!**\n");
    printf("***************************\n");

    int operacao;

    double numero1, numero2, resultado;

    printf("Digite 1 para soma.\n");
    printf("Digite 2 para subtracao.\n");
    printf("Digite 3 para divisao.\n");
    printf("Digite 4 para multiplicacao.\n");
    printf("Qual a operacao? ");

    scanf("%d", &operacao);

    printf("Digite o numero 1: ");
    scanf("%f", &numero1);

    printf("Digite o numero 2: ");
    scanf("%f", &numero2);

    if(operacao == 1){
        resultado = numero1 + numero2;
        printf("O resultado da soma entre %f e %f eh %f\n", numero1, numero2, resultado);

    }else if(operacao == 2){
        resultado = numero1 - numero2;
        printf("O resultado da subtracao entre %f e %f eh %f\n", numero1, numero2, resultado);

    }else if(operacao == 3){
        if(numero2 == 0){
            printf("Nao existe divisao por zero!");
        }else{
            resultado = numero1 / numero2;
            printf("O resultado da divisao entre %f e %f eh %f\n", numero1, numero2, resultado);
        }

    }else if(operacao == 4){
        resultado = numero1 * numero2;
        printf("O resultado da multiplicacao entre %d e %d eh %d\n", numero1, numero2, resultado);

    }else{
        printf("Operacao invalida.\n");
    }

}
2 respostas
solução!

Olá Camila! Para ler números com casas decimais, você precisa usar o %lf na hora de chamar o scanf

o LF, significa Long Float

abraços!

Obrigada Philipe,

Estava usando somente o %f. Pensei que fosse igual ao printf.