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

Fiz o seguinte código, mas na hora de mostrar o resultado, ele concatena os numeros na soma. As outras operações são realizadas corretamente. Não consigo achar o erro.

<meta charset="UTF-8">

<h1>Operações Básicas</h1>

<script>

    function pulaLinha() {
        document.write("<br><br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    function soma(num1, num2) {
        return num1+num2;
    }

    function subtrai(num1, num2) {
        return num1-num2;
    }

    function multiplica(num1, num2) {
        return num1*num2;
    }

    function divide(num1, num2) {
        return num1/num2;
    }

    var numero1 = prompt("Olá, informe um número:");
    var numero2 = prompt("Agora informe outro número:");
    var somaNumeros = soma(numero1, numero2);
    var subtraiNumeros = subtrai(numero1, numero2);
    var multiplicaNumeros = multiplica(numero1, numero2);
    var divideNumeros = divide(numero1, numero2);

    mostra("A soma entre os números é " + somaNumeros);
    mostra("A subtração entre os números é " + subtraiNumeros);
    mostra("A multiplicação entre os números é " + multiplicaNumeros);
    mostra("A divisão entre os números é " + divideNumeros);

</script>
2 respostas
solução!

Olá Pedro, como está?

Por padrão, quando você recebe um valor digitado pelo usuário, mesmo que seja um número o javascript armazena ele como uma String, então quando você tenta soma-los o que acontece é que eles acabam sendo concatenados (Isso não ocorre com outras operações, pois quando o compilador vê um sinal aritmético diferente de soma ele já entende que são números.).

Para resolver seu problema você precisa converter a leitura do prompt pra tipo numérico dessa forma:

    var numero1 = parseInt(prompt("Olá, informe um número:"));
    var numero2 = parseInt(prompt("Agora informe outro número:"));

Abraços e qualquer dúvida continue postando.

Obrigado pela ajuda, Welton! Resolveu aqui