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

Com ParseInt dá erro.

<meta charset="utf-8">

<script>

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

    function escreva(texto) {
        document.write(texto);
        pulaLinha();
    }

    function calculaImc(altura, peso) {
        return peso / (altura * altura);
    }

    altura = parseInt(prompt('Digite sua altura: ')); // 1.84
    peso = parseInt(prompt('Digite seu peso: ')); // 130
    var imcCalculado = calculaImc(altura, peso);

    escreva('Seu IMC calculado é: ' + imcCalculado); // 130

</script>

Dessa forma o programa está imprimindo o valor de 130. Porém, quando removo o ParseInt, deixando apenas o prompt a operação imprime o valor corretamente. Onde estou errando?

Desde já agradeço a ajuda, pois não quero passar adiante sem compreender o que de fato pode está acontecendo.

2 respostas
solução!

Já descobri o erro. É que a variável altura recebe um número do tipo 'real' = 1.84. Nesse caso não seria parseInt e sim ParseFloat.

Poxa, Flávio, poderia ter me deixado ganhar uns pontos, né cara? rsrs

Flávio, em programação você verá que o usuário é expert em criar bugs com entradas inesperadas. Você pede para ele entrar com um número e ele digita "OITENTA E NOVE". Pense sempre no usuário quando estiver escrevendo o código, para ficar o mais claro possível e evitar resultados inesperados. Por exemplo, eu deixaria claro que o peso é em quilos e a altura em centímetros. Isso evitará alturas como 1,84, que bugaria o programa.