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

O Chrome mostra apenas o peso.

Estou usando esse código, ao meu ver, não possui nenhuma falha, porém o navegador não calcula o imc, e mostra somente o peso.

Já tentei usar "1.75" ao invés de "1,75", já tentei colocar o parseInt antes do prompt e não funcionou, com "175" a conta fica enorme, porém funciona

meta charset="UTF-8">

h1>Calculadora de IMC

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 alturaInfo = prompt("Informe sua altura: ");
var pesoInfo = prompt("Informe seu peso: ");
 var imc = calculaImc(alturaInfo, pesoInfo);

mostra(nome + ", seu IMC é " + imc);

/script>

PS.: sei que ta faltando os "<", só fiz assim pra conseguirem ver o código.

2 respostas
solução!

Olá, tudo bem?

Isso acontece pois está faltando um parênteses no cálculo do IMC, veja abaixo:

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

Desse jeito que você está fazendo, ele divide o peso pela altura e depois multiplica a altura no final. Mas, precisamos que ele faça peso dividido por altura ao quadrado (altura x altura), por isso precisamos usar os parênteses, dessa forma:

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

Espero ter ajudado, bons estudos =)

Caraca, eu fiquei mais de uma hora olhando pro código e era só isso kkkkkkkkj Enfim, muito obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software