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

ERRO NAN

Olá pessoal, estou com dificuldade para finalizar minha tarefa IMC ;,(. var mostra = function(frase){document.write(frase)}

var botão = function(p, a){ var imc = p/(a*a); return imc };

var calcule = botão(p, a);

var nome = prompt("Olá tudo bem? Como se chama? "); var sobrenome = prompt(nome + " do que?"); var idade = prompt("Ok " + nome + " me diga sua idade. Só os números ok?"); var p = parseInt(prompt("Ok, agora " + nome + ", me fale seu peso.")); var a = parseInt(prompt("Bom, sua altura por favor? (Ex: 1.90)")); alert("Ta certo, com essas informações ja consigo calcular seu imc"); alert("Aguarde um instante..."); mostra("Bom "+nome+" seu imc está em: " +Math.round(calcule)+" pontos.");

7 respostas

Olá Marlon! Você está transformando a altura em inteiro, logo se o usuário digitar 1.7 a variável 'a' será arredondada. Como está sua função 'mostre' e 'calcule'? Se calcule for uma função, então falta chamá-la assim: 'calcule()'.

Para exibir códigos coloque 3 crases seguidas no início e fim: ' ``` ' Ficando assim:

var nome = prompt("Olá tudo bem? Como se chama? ");
var sobrenome = prompt(nome + " do que?");
var idade = prompt("Ok " + nome + " me diga sua idade. Só os números ok?");
var p = parseInt(prompt("Ok, agora " + nome + ", me fale seu peso."));
var a = parseInt(prompt("Bom, sua altura por favor? (Ex: 1.90)"));
alert("Ta certo, com essas informações ja consigo calcular seu imc");
alert("Aguarde um instante...");
mostra("Bom "+nome+" seu imc está em: " +Math.round(calcule)+" pontos.");

Olá Bruno!

Retirei o parseInt do prompt porém continua o mesmo erro. e quando coloco '()' em 'calcule' da erro de sintaxe. continuo no NaN. Pode me ajudar?

Vou chorar ;..( Obg pela atenção...

``````

´´´

´´´

Manda o código das funções 'calcule' e 'mostra'. Provavelmente 'calcule' espera receber alguns parâmetros como a altura e o peso.

Olá ,

Dê uma olhada como esta, não consigo achar o erro.

<script>
var mostra = function(frase){document.write(frase)}

var botão = function(p, a){
var imc = p/(a*a);
return imc
};


var calcule = botão(p, a);

var nome = prompt("Olá tudo bem? Como se chama? ");
var sobrenome = prompt(nome + " do que?");
var idade = prompt("Ok " + nome + " me diga sua idade. Só os números ok?");
var p = prompt("Ok, agora " + nome + ", me fale seu peso.");
var a = prompt("Bom, sua altura por favor? (Ex: 1.90)");
alert("Ta certo, com essas informações ja consigo calcular seu imc");
alert("Aguarde um instante...");
mostra("Bom "+nome+" seu imc está em: " +Math.round(calcule)+" pontos.");


</script>
solução!

Você está chamando botão(p, a) antes de definir as variáveis 'p' e 'a'. Declare calcule depois de definir essas variáveis:

...
var p = prompt("Ok, agora " + nome + ", me fale seu peso.");
var a = prompt("Bom, sua altura por favor? (Ex: 1.90)");
var calcule = botão(p, a);
...

Olá Bruno!!!!!!

Deu cero cara agradeço a generosidade e paciencia. Obrigado mano...

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