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

return

as barras dos prompts estao aparecendo pra mim normal, mas não está aparecendo a menssagem com o resultado. Eu estou tentando chamar a função para que o return me de o resultado mas não está aparecendo alguem sabe por que? meu código está assim:

function imc(peso,altura){

        return peso/(altura*altura)
    }
    var nome = prompt("informe seu nome")

    var peso = prompt("informe seu peso"); 

    var altura =prompt("informe sua altura");

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

Eu só estou conseguindo exibir o resultado na tela se eu cria uma variavel, mas eu queria saber do porque minha função return nao está sendo executada.

2 respostas
solução!

Olá Phelippe, tudo bem?

A função return não está funcionado, pois faltou adicionar os parâmetros da função imc durante a chamada. O código ficará assim:

mostra(nome + ", seu imc é" + imc(peso,altura));

Outro motivo possível para o resultado não estar sendo exibido, é porque a função mostra não está sendo declarada antes de ser utilizada (pelo menos não na pergunta enviada). Dessa forma:

function mostra(text){
    document.write(text);
}

Ao final, o código completo ficará assim:

<script>
function mostra(text){
    document.write(text);
}
function imc(peso,altura){

    return peso/(altura*altura)
}
var nome = prompt("informe seu nome");
var peso = prompt("informe seu peso"); 
var altura =prompt("informe sua altura");

mostra(nome + ", seu imc é" + imc(peso,altura));
</script>

Uma dica é colocar na string ", seu imc é" dois pontos e um espaço (", seu imc é: "). Dessa forma o resultado não ficará grudado ao texto.

Espero ter ajudado. Continue praticando e bons estudos!

A função prompt () retorna uma String, devemos transformar ela em uma Int usando parseInt() ou Float usando parseFloat(). Na definição a função imc foram solicitados 2 parâmetros, peso e altura, portanto quando chamar a função novamente deve informar quais são esses parâmetros. Nas linhas "return peso/(altura*altura)" e "var nome = prompt("informe seu nome")" faltou ; no final.

Segue uma sugestão para correção do código:

  function imc(peso,altura){

        return peso/(altura*altura);
  }
    var nome = prompt("informe seu nome");

    var peso = parseInt(prompt("informe seu peso")); 

    var altura =parseFloat(prompt("informe sua altura"));

    mostra(nome + ", seu imc é " + imc(peso,altura));