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

Pratique resolvendo - Soma concatenada

Fiz o exercício do IMC e deu tudo certo, então resolvi usar o return direto sem declarar a variável no meio da função, mas quando uso operação de soma em outro estudo é tudo concatenado. Gostaria se possível entender este erro do meu codigo. Coloquei em comentário o erro usando prompt.

<meta charset="utf-8">

<script>

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

    function compras(borracha, caderno, apontador, tesoura){
        return borracha + caderno + apontador + tesoura;
        //usando o comando prompt a soma concatena
    }

    var buyBorracha = 0.50;  //var buyBorracha = prompt("valor");
    var buyCaderno = 6.00;     //var buyCaderno = prompt("valor");
    var buyApontador = 1.00; //var buyApontador = prompt("valor");
    var buyTesoura = 2.00;     //var BuyTesoura = prompt("valor");

    var pagamento = compras(buyBorracha, buyCaderno, buyApontador, buyTesoura);

    mostra("O valor a ser pago é: " + pagamento);

</script>
6 respostas
solução!

Boa noite Diego notei que o seu código a variável buyTesoura está escrito de maneira diferente quando tenta capturar ela por meio do prompt está escrito BuyTesoura . É para resolver seu problema de concatenação você pode utilizar o parseInt na hora de utilizar o promt , pois assim você vai converter a string em um número inteiro ,parseInt(prompt("valor"));, ou o parseFloat(prompt("valor")); para valores decimais. Espero ter te ajudado;

Seu problema era quando o prompt era usado? La você usa outro nome de variável.

Você precisará converter o que leu do teclado par número. Eu explico isso, mas acho que você se antecipou.

Continue estudando e guarde o código problemático. Assim que você chegar na parte de conversão aprenderá a resolver o problema. Se não quer esperar você pode pular (não aconselho muito) para o cap que explica isso.

O mais legal é que você sentiu na pele o problema e tem uma motivação para resolve-lo!

https://cursos.alura.com.br/course/logica-programacao-javascript-html/section/6/task/5

Mas veja, você esta quase lá! É p próximo capítulo!

A solução:

var buyBorracha = parseFloat (prompt("valor"));
var buyCaderno = parseFloat (prompt("valor"));
var buyApontador = parseFloat (prompt("valor"));
var buyTesoura = parseFloat (prompt("valor"));

Você deve estar intrigado a razão de você não ter feito isso antes e ter funcionado. Você vê a explicação no próximo capítulo.

Beleza Diego?

Agradeço pela ajuda Professor Flavio e o Lucas. Realmente a solução foi correta que foi apresentada.

Eu escrevo muitos teste e acabei chegando em uma parte a frente, mas como em / e * não há problema a soma seria uma tarefa simples pensei.

Mas de qualquer forma obrigado pela ajuda e parabéns Professor Flavio, sem duvida seu curso de logica esta sendo um alivio para aprender introdução a programação.

Excelente, Diego. Mas sua postura de querer dá um passo a frente é positiva, MUITO positiva e só tem a acrescentar nos seus conhecimentos.