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

Cód não divide o peso

Tudo funcionando mas na hora de mostrar a altura multiplicada e dividir o peso pelo resultado só me aparece o peso que digitei o que à de errado no meu cód

<meta charset="UTF-8">

<script>
function pula(){
        document.write("<br>") 
        document.write("<br>")
}
function mostra (frase){
    document. write( frase)
    pula()
}
function calculaImc( altura, peso) {

    return  peso / (altura* altura)
}


var nome= prompt(" Qual é o seu nome?")
var infpeso=parseInt(prompt(nome+" qual o seu peso? "))
var infaltura= parseInt(prompt(nome+" qual sua altura? "))
 var imc= calculaImc(infaltura,infpeso)


mostra("Seu IMC calculado é " +Math.round(imc))
</script>
5 respostas
solução!

Oi tudo bem?

Na linha onde você pergunta a altura você estava convertendo para inteiro com parseInt e inteiro de 1.73 (minha altura) é 1. Por isso ia errado para a fórmula. É bom colocar ponto e vírgula no final de cada linha também , o navegador entende mas é uma boa prática. Ai de mim se não colocar ponto e vírgula no dia a dia do trabalho kkkkk. E tinha um professor que dava errado também na prova.

Veja como ficou:

<meta charset="UTF-8">

<script>
    function pula() {
        document.write("<br>");
        document.write("<br>");
    }
    function mostra(frase) {
        document.write(frase);
        pula();
    }
    function calculaImc(altura, peso) {

        return peso / (altura * altura);
    }


    var nome = prompt(" Qual é o seu nome?");
    var infpeso = parseInt(prompt(nome + " qual o seu peso? "));
    var infaltura = (prompt(nome + " qual sua altura? "));
    var imc = calculaImc(infaltura, infpeso);


    mostra("Seu IMC calculado é " + Math.round(imc));
</script>

Espero ter ajudado!!!

Olá tudo bem , e você? Então deu certo sim obrigado pela dica vou começar a colocar ";" nos finais, e quanto ao código eu entendi na vídeo aula que se não coloca-se parseInt na frente do prompt ele não recnheceria como número apenas como Sting mas agr que deu certo fiquei confuso ...

Quando forço uma string a ser multiplicada, dividida ou subtraída por um número ela vira um número.

Como você colocou ela numa expressão matemática válida ela se transformou.

Eu muitas vezes faço assim

var variavel=prompt("insira um número")*1;

pra converter para número, mas só quando tenho certeza que a pessoa vai digitar um número, se não dá erro.

E quando que uso então o parseInt? Eu achei que usava pra transformar uma string em número mas vi que é para transformar em um número inteiro apenas certo?

Sim só para converter para número inteiro, dá para usar quando quer arredondar para baixo.

Dei uma pesquisada e achei o parseFloat(), ele converte para número de ponto flutuante (vírgula flutuante).