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

Não consigo encontrar o erro.... :(

Alguem poderia, por gentileza, me ajudar a encontrar o erro no meu código. Já fiz varias alterações e o erro persiste, na linha var imc, dentro da função calculaImc.

<h1> calculo de Imc </h1>

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

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

    function calculaImc(altura, peso) {
        var imc = peso / (altura * altura);
    }

var meuPeso = 64;
var minhaAltura = 1.64;
calculaImc(meuPeso, minhaAltura);


mostra (Math.round(calculaImc));
</script>
3 respostas

Tentei denovo e agora esta aparecendo NaN

solução!

Algumas coisas para você verificar no código:

1º: A sua função calculaImc, depois do var imc = ..., você tem que colocar um return imc, para quando a função for chamada, ela retornar o valor do imc.

2º: Depois que você define o peso e a altura, e chama o calculaImc, você inverteu as ordens dos parâmetros, primeiro é a altura e depois o peso, e neste caso, você passou primeiro o peso e depois a altura. O correto: calculaImc(minhaAltura, meuPeso)

3º: Quando você chama a função, passando o peso e a altura, ok, você chamou, não pediu pra mostrar em lugar algum, e não salvou em nenhuma variável, portanto existem duas soluções - Ou você armazena essa chamada em uma variável, e passa essa variável la dentro do Math.round, ou então passa o calculaImc dentro do Math.round, mas passando os parâmetros, então ficaria assim - mostra(Math.round(calculaImc(minhaAltura, meuPeso));. (Eu prefiro com variável, fica menor e mais legível o código. Outro detalhe, não pode haver espaço entre o mostra e o parênteses, tem que estar colado). Se você optar por está ultima opção, em passar os parâmetros dentro do Math.round, então pode excluir a linha anterior, onde você chama o calculaImc.

Tenta ai, e qualquer dúvida comenta aqui.

Muito obrigada Matheus, foi isso mesmo que vc falou, fiz as correções que vc me indicou e deu certo!!!!