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

[Projeto] Desafio : Calculadora

<input type="number" name="numeroA" id="numA">
    <select name="sinal" id="sinal">
        <option value="soma">+</option>
        <option value="subtracao">-</option>
        <option value="multiplicacao">x</option>
        <option value="divisao">/</option>
    </select>
    <input type="number" name="numeroB" id="numB">
    <button onclick="fazerConta()">=</button>
    <p id="resultado"></p>
// Escreva um programa de calculadora simples com funções separadas para adição, subtração, multiplicação e divisão. Utilize um bloco condicional para determinar qual função executar com base em uma variável que representa a operação desejada.

function fazerConta() {
    let a = parseInt(document.getElementById("numA").value);
    let b = parseInt(document.getElementById("numB").value);
    let sinal = document.getElementById("sinal").value;

    if (isNaN(a) || isNaN(b)) {
        alert("Selecione um número.");
        return;
    }

    if (sinal === "soma" || sinal === "subtracao" || sinal === "multiplicacao" || sinal === "divisao") {
        document.getElementById("numA").value = "";
        document.getElementById("numB").value = "";
    } else {
        alert("sinal inválido.");
    }
    
    if (sinal === "soma") {
        document.getElementById("resultado").textContent = `Resultado: ${a + b}`;
    } else if (sinal === "subtracao") {
        document.getElementById("resultado").textContent = `Resultado: ${a - b}`;
    } else if (sinal === "multiplicacao") {
        document.getElementById("resultado").textContent = `Resultado: ${a * b}`;
    } else if (sinal === "divisao") {
        document.getElementById("resultado").textContent = `Resultado: ${a / b}`;
    } else {
        alert("sinal inválido.");
    }
1 resposta
solução!

Oi, Leandro! Como vai?

Sua calculadora está bem estruturada e mostra um bom domínio do uso de getElementById, condições e manipulação do DOM. Organizar as operações em blocos condicionais foi uma escolha certeira para esse desafio.

Uma dica interessante para o futuro é separar as operações em funções específicas, o que torna o código mais modular e reutilizável. Veja este exemplo:


function somar(a, b) {
  return a + b;
}

function subtrair(a, b) {
  return a - b;
}

function multiplicar(a, b) {
  return a * b;
}

function dividir(a, b) {
  return b !== 0 ? a / b : "Divisão por zero";
}

Essas funções ajudam a manter o código mais limpo e facilitam testes individuais de cada operação.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!