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

Curso de logica de Programação

Boa noite devs,alguem sabe porque não funciona?

<meta charset="UTF-8">

<script>

  function pulaLinha(){

      document.write("<br>")
  }

  function mostra(frase){

      document.write(frase)
      pulaLinha()
  }

  var peso= 70;
  var altura= 1.70;

  calcularIMC(altura, peso);

  function calcularIMC(altura, peso){

   var imc = peso / (altura * altura);

   return imc
 }


mostra(imc);




</script>
2 respostas
solução!

Olá Marcus tudo bem ?

Eu vi no seu codigo que vc chama sua funcao "mostra(imc)" mas a variavel imc esta dentro da funcao calcularIMC sendo assim você não consegue acessar varias de dentro da sua funcao, eu fiz 2 exemplos que talves te ajude.

ex 1: colocando uma funcao dentro da outra dessa forma a funcao de dentro executa primeiro e traz o resultado pra funcao de fora que executa em seguida.

ex 2: declarando o retorno da sua funcao em uma nova variavel, e executando a funcao de mostrar passando a nova variavel com o resultado da funcao que faz o calculo.

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

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


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

var peso= 70;
var altura= 1.70;

// ex 1:  forma de retornar o imc e inserir na fucao mostra
mostra(calcularIMC(altura, peso));

// ex 2: forma de retonar o imc e inserir na funcao mostra
var retornoImc = calcularIMC(altura, peso)
mostra(retornoImc)

Olá marcos,obrigado pela ajuda consegui resolver o problema com o código e fiz algumas leves mudanças,agora esta funcionando perfeitamente

`

`