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

Alguém pode me dizer o que há de errado no meu código?

Adicionei um terceiro parâmetro na função... Mas quando executo o código, ele não funciona. No console aparece o erro Uncaught ReferenceError: nome is not defined. não entendi porque aparece esse erro :/

 <meta charset="UTF-8">

 <script>

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

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

    function calculaImc(nome ,peso , altura) {
        var imc = Math.round(peso / (altura * altura));
        return imc;     
    }

    //var pesoPaciente1 = 61;
    //var alturaPaciente1 = 1.65;
    //var nomePaciente1 = Ana;
    var imcPaciente1 = calculaImc("Ana", 61 , 1.65); 

    //var pesoPaciente2 = 88;
    //var alturaPaciente2 = 1.72;
    //var nomePaciente2 = João;
    var imcPaciente2 = calculaImc("João", 88 , 1.72);

    mostra("O imc do(a) paciente " + nome + "é " + imcPaciente1);
    mostra("O imc do(a) paciente " + nome + "é " + imcPaciente2);

</script>
2 respostas
solução!

Opa Bom dia Ana,

O erro está na parte que você chama a função de mostra, porque a "variável" nome só existe dentro da função calculaImc. Uma solução seria você declarar duas variáveis fora da função e passar pra ela, segue o exemplo abaixo.

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

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

    function calculaImc(nome ,peso , altura) {
        var imc = Math.round(peso / (altura * altura));
        return imc;     
    }

    //var pesoPaciente1 = 61;
    //var alturaPaciente1 = 1.65;
    var nomePaciente1 = "Ana";
    var imcPaciente1 = calculaImc( nomePaciente1 , 61 , 1.65); 

    //var pesoPaciente2 = 88;
    //var alturaPaciente2 = 1.72;
    var nomePaciente2 = "João";
    var imcPaciente2 = calculaImc(nomePaciente2 , 88 , 1.72);

    mostra("O imc do(a) paciente " + nomePaciente1 + " é " + imcPaciente1);
    mostra("O imc do(a) paciente " + nomePaciente2 + " é " + imcPaciente2);
</script>

Espero ter ajudado, bons estudos :)

Muito obrigada pela ajuda!!!