Boa Tarde professor ! No meu código está dando resultado que se aplica só uma condição. Ex: IMC é : 0.00032651529367611184
Boa Tarde professor ! No meu código está dando resultado que se aplica só uma condição. Ex: IMC é : 0.00032651529367611184
Lucas, blz?
Compartilha seu código aqui. Não esquece de usar o botão "<> INSERIR SEU CÓDIGO" logo acima para isso.
Bom dia Professor segue o código!
<meta charset="utf-8">
<script>
function pulaLinha(){
document.write("<br><br>");
}
function mostra(frase){
document.write(frase);
pulaLinha();
}
function calculoImc(altura, peso){
return peso / (altura*altura);
}
var nome = prompt("Informe seu nome : " + nome);
var alturaIformada = prompt(nome + " o seu peso é : ");
var pesoInformado = prompt(nome + " o sua Altura é : ");
var imc = calculoImc(alturaIformada, pesoInformado);
mostra( nome + " seu o IMC é : " + imc);
if(imc < 18.5){
mostra(" Vá buscar um NUTRICIONISTA JÁ.");
}
if(imc > 35){
mostra(" Você está REDONDO.")
}
if(imc >= 18.5){
if(imc <= 35){
mostra(" Você está BEM ");
> }
}
</script
Lucas, blz?
Você só inverteu as bolas quando foi pegar do usuário o peso e a altura. Deixei o comentário onde vc fez isso.
<script>
function pulaLinha(){
document.write("<br><br>");
}
function mostra(frase){
document.write(frase);
pulaLinha();
}
function calculoImc(altura, peso) {
return peso / (altura * altura);
}
// Removi aqui o trecho "+ nome"
var nome = prompt("Informe seu nome: ");
// Inverti aqui, o peso e a altura estavam invertidas.
var alturaIformada = prompt(nome + " a sua altura é : ");
var pesoInformado = prompt(nome + " o seu peso é : ");
mostra(alturaIformada * alturaIformada)
var imc = calculoImc(alturaIformada, pesoInformado);
mostra( nome + " seu o IMC é : " + imc);
if(imc < 18.5){
mostra(" Vá buscar um NUTRICIONISTA JÁ.");
}
if(imc >= 18.5){
if(imc <= 35){
mostra(" Você está BEM ");
}
}
if(imc > 35){
mostra(" Você está REDONDO.")
}
</script>
Não esquece de marcar uma resposta como solução ;-)
Bom dia Professor! Não deu certo ele está me retornando só meu peso sem dividir com altura^2 (1 Lucas seu o IMC 83 Você está REDONDO) e ainda fiquei com uma duvida verifiquei as alterações que o Sr fez no código e notei que está faltando uma função (parseInt) "var alturaIformada = prompt(nome + " a sua altura é : "); var pesoInformado = prompt(nome + " o seu peso é : ");". E na aula estamos aprendendo a usar o mesmo. Estou enviando o meu código novamente com algumas alterações sugerida pelo o Sr.
<meta charset="UTF-8">
<script>
function pulaLinha(){
document.write("<br>");
}
function mostra(frase){
document.write(frase);
pulaLinha();
}
function ImcCalculo(altura, peso){
return peso / (altura * altura);
}
var nome = prompt("Informa o seu nome: ");
var alturaInformada = parseInt(prompt(nome + " Informe sua Altura"));
var pesoInformada = parseInt(prompt(nome +" Informe seu peso"));
mostra(alturaInformada*alturaInformada);
var imc = ImcCalculo(alturaInformada, pesoInformada);
mostra(nome + " seu o IMC " + imc);
if(imc < 18.5){
mostra("Vá buscar um NUTRICIONISTA JÁ. ");
}
if(imc >= 18.5){
if(imc <= 35){
mostra("Você está BEM");
}
}
if(imc > 35){
mostra("Você está REDONDO");
}
</script>
Lucas, tudo bom?
Não sou professor, sou um colega como você :-)
Fiz o teste aqui, não achei erros na minha resposta. Quais valores você está usando?
A função parseInt() tem um problema nesse contexto. Ela só vai funcionar se você tiver 1 metro, ou dois metros, etc. Pq? Se você tiver 1.80m a função vai converter para o inteiro 1 (um). Por isso, qualquer valor abaixo de 2 que você colocar vai parecer que ele está retornando o seu peso pq estará multiplicando 1 * 1 e depois dividindo isso pelo seu peso. Exemplo, 90 / (1 * 1).
Coloquei a resposta nesse repositório para você verificar que calcula corretamente:
Oi Ronald boa noite ! Agora entendi, muito obrigado pela ajuda!