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");
}
}