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

O que há de errado com meu código?

Minha namorada queria saber quanto ela receberia se desse aula em determinada escola. Como estou dando meus primeiros passos na programação, quis fazer um código para dar conta do cálculo, que seria 4 (as horas trabalhadas por dia útil) multiplicado pelo valor da hora, que é 8.75R$, e multiplicando o resultado por 21, uma suposta média de dias úteis por mês. Ao fazer o código abaixo, o cálculo mostrado difere bastante do feito calculadora (isto é 4 x 8.75 x 21 = 735). Desde já agradeço qualquer luz.

<meta charset="UTF-8">

<script>

    function mostra(texto) {

        document.write(texto);

    }

    function pulaLinha() {

        document.write("<br>");

    }

    var horas = parseInt(prompt("Quantas serão as horas trabalhadas diariamente?"));
    var valorHoras = parseInt(prompt("Qual o valor de cada hora?"));
    var salario = horas * valorHoras * 21;

    mostra("Você receberá mensalmente " + salario + " reais.")

    </script>
1 resposta
solução!

Olá, Allef, tudo bem?

Notei uma coisa no seu código, o parseInt recebe um valor inteiro, porém o seu caso está entrando um valor Float (um número com vírgula), o código arredonda o valor para baixo. Isto é, se você entrar com 8.75, será atribuído 8 à sua variável, resultando em um erro no seu cálculo.

Para resolvê-lo basta que mudemos a função parseInt para parseFloat nas variáveis que deseja atribuir números com vírgula:

    var horas = parseInt(prompt("Quantas serão as horas trabalhadas diariamente?"));
    var valorHoras = parseFloat(prompt("Qual o valor de cada hora?"));

Espero ter te ajudado!