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

Problema com função no JavaScript

insira seu código aqui
3 respostas

Bom dia, fiz o programa abaixo, ele até funciona mas a função SOMA ao invés de fazer a operação está concatenando os números de entrada alguém pode me explicar? É só no SOMA, as demais funções estão corretas.

<meta charset="utf-8">

<script>
    function pulaLinha(){
        document.write ("<br><hr><br>");
    }
    function mostra (frase){
        document.write ("<big>" + frase +"</big>");
        pulaLinha();
    }
    function soma (n1,n2){
        return n1+n2;
    }
    function subtracao (n1,n2){
        return n1-n2;
    }
    function divisao (n1,n2){
        return n1/n2;
    }
    function multiplicacao (n1,n2){
        return n1*n2;
    }
    var n1 = prompt ("Digite o primeiro número: ");
    var n2 = prompt ("Digite o segundo número: ");
    var som = soma(n1,n2);
    var sub = subtracao(n1,n2);
    var div = divisao(n1,n2);
    var mult = multiplicacao(n1,n2);
    mostra ("A SOMA dos numeros digitados: " + som);
    mostra ("A SUBTRAÇÃO dos numeros digitados: " + sub);
    mostra ("A DIVISÃO dos numeros digitados: " + div);
    mostra ("A MULTIPLICAÇÃO dos numeros digitados: " + mult);
</script>
solução!

Oi, Everton, tudo bem?

Legal o seu código! Você fez uma calculadora básica. Só precisamos no atentar a um detalhe muito importante que é o de converter a string que o usuário digita quando é perguntado sobre os números. Sem isso, a soma, por exemplo, não acontece. o que a função faz é concatenar os dois números. Então, se você digita primeiro, 3 e depois 4, ele não consegue somar, dando o resultado 7, mas juntar esses dois valores, dando 34 o que é errado. Para isso usamos a propriedade parseInt, ela tem o poder de converter uma string em um inteiro. Para saber mais aqui: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/parseInt

O seu código ficaria assim:

var n1 = parseInt(prompt("Digite o primeiro número: "));
 var n2 = parseInt(prompt("Digite o segundo número: "));

Com isso os valores serão inteiros e somados corretamente.

Espero ter te ajudado e bons estudos!

Obrigado, funcionou certinho.