Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
20
respostas

Apresentação não fica igual ao instrutoor

Alguém sabe me dizer oq esta errado??? Ao meu ver está igual do instrutor

<meta charset="UTF-8">

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

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

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

var nome = prompt ("Digite seu nome: ");
var altura = prompt (nome + " Digite sua altura: ");
var peso = prompt (nome + " Digite seu peso: ");

var imc = calculaimc(altura, peso);

mostra(nome + " Seu IMC calculado é " + Math.round(imc));

if (imc < 18.5) {
    mostra("Seu IMC está abaixo do recomendado!");
}

if (imc > 35) {
    mostra("Seu IMC está acima do recomendado!");
}

if (imc >= 18.5 && imc <= 35) {
    mostra("Seu IMC está dentro do recomendado.");
}  


</script>

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

20 respostas

Oi Raphael.

o erro esta nesta parte.

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

deixe-a desta forma:

function mostra () {

        document.write(pulaLinha)
}

Bons estudos!!!

Boa noite Romeu,

Não deu certo.

Oi Raphael.

que LOL.

Por acaso o código ainda está aberto aqui. E está a funcionar, perfeitamente. Vou lhe perguntar algo, e não leve-me a mal. Por acaso quando vc digita, exatamente valor altura, vc usa ponto ou usa virgula? >>>>> 1.79 ou 1,79 Pq se estiveres a usar virgula, esse é o problema.

![]

lembrei de colocar o código aqui também:

<meta charset="UTF-8">

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

function mostra () {

        document.write(pulaLinha)
}
function calculaimc (altura, peso) {
    var imc = peso / (altura * altura)
        return imc
}
var nome = prompt ("Digite seu nome: ");
var altura = prompt (nome + " Digite sua altura: ");
var peso = prompt (nome + " Digite seu peso: ");

var imc = calculaimc(altura, peso);

mostra(nome + " Seu IMC calculado é " + Math.round(imc));

if (imc < 18.5) {
    mostra("Seu IMC está abaixo do recomendado!");
}

if (imc > 35) {
    mostra("Seu IMC está acima do recomendado!");
}

if (imc >= 18.5 && imc <= 35) {
    mostra("Seu IMC está dentro do recomendado.");
}  
</script>

Não uso "," uso "."

então ainda não funcionou?

Não, continua do mesmo jeito. Na primeira dica que vc deu também n tinha funcionado.

experimentou copiar o meu código?

coloca uma print da tela. eu copiei e colei seu codigo, depois alterei o que ja lhe disse.

Desculpe-me pela falta de acentos.. estou a usar um outro teclado neste momento.

Oi Raphael! Eu copiei o seu código e vi que estava faltando dois ponto e virgula.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

testei no meu navegador e deu certo!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi Luisa.

Mas vc colocou ponto e virgula em todos os lugares que faltam? pq não falta só ali.

Boa noite Luisa,

Eu tinha reparado isso também e havia corrijido, porém o erro persiste.

<meta charset="UTF-8">

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

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

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

var nome = prompt ("Digite seu nome: ");
var altura = prompt (nome + " Digite sua altura: ");
var peso = prompt (nome + " Digite seu peso: ");

var imc = calculaimc(altura, peso);

mostra(nome + " Seu IMC calculado é " + Math.round(imc));

if (imc < 18.5) {
    mostra("Seu IMC está abaixo do recomendado!");
}

if (imc > 35) {
    mostra("Seu IMC está acima do recomendado!");
}

if (imc >= 18.5 && imc <= 35) {
    mostra("Seu IMC está dentro do recomendado.");
}  


</script>

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olha so Raphael, faz o seguinte.

retire todas as " funções mostra" . no lugar coloque:

document.write

e elimine tudo isso abaixo:

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

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

o que acha? A funcão do mostra é a mesma que a do document.write .

substitua!!!!!

pq aqui funciona certinho, como lhe falei, eu copiei e colei, e alterei o que eu coloquei acima.

não experimentei com o document.write.

mas a função "pulaLinha " e função "mostra" pode se eliminar.

oi Como eu disse, funciona certinho. elimine as duas primeiras funções e troque a "função mostra" por document.write. elimine estas duas abaixo:

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

function mostra () {

        document.write(pulaLinha)
}

Raphael, caso vc tente e se não der certo, Eu diria pra vc eliminar o seu arquivo html que está a usar, e criar um novo . Depois copie e cole o código novamente. Bom aqui já são 2h da madrugada, mais tarde eu olho novamente.

Boa sorte!!!!!!

Oi Raphael, Eu vi o código de novo e acho que seria melhor reescrever mesmo

de assim :

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

para isso :

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O que muda é que na função mostra, você pode colocar apenas pulaLinha(); sem precisar escrever document.write(pulaLinha); que ai acho que deve funcionar.

bom dia.

document.write(pulaLinha); criada apenas para facilitar o pulo de linha.

mostra() ; é uma função criada apenas para escrever menos!! Em conjunto, as duas facilitam a digitação.

Se vc usar document.write ou a função mostra, é a mesma coisa, desde que vc tenha a função mostra, no código.

solução!

Bom dia,

Acho que o problema que ocorre com seu programa aconteceu com o meu, que a função pulaLinha não funcionou corretamente dentro da função mostra. Retirei ela de dentro da função mostra e coloquei após o mostra do resultado do IMC, talvez não seja a melhor maneira mas foi a que funcionou para o meu programa. Acabou ficando dessa maneira.


<meta charset="UTF-8">

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

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

}

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

var nome = prompt ("Digite seu nome: ");
var altura = prompt (nome + " Digite sua altura: ");
var peso = prompt (nome + " Digite seu peso: ");

var imc = calculaimc(altura, peso);

mostra(nome + " Seu IMC calculado é " + Math.round(imc));
pulaLinha();

if (imc < 18.5) {
    mostra("Seu IMC está abaixo do recomendado!");
}

if (imc > 35) {
    mostra("Seu IMC está acima do recomendado!");
}

if (imc >= 18.5 && imc <= 35) {
    mostra("Seu IMC está dentro do recomendado.");
}  


</script>

oi Raphael!! Vejo que ainda está com com problema. Copie este código e veja se dá o mesmo problema.

<meta charset="UTF-8">

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

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

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

var nome = prompt ("Digite seu nome: ");
var altura = prompt (nome + " Digite sua altura: ");
var peso = prompt (nome + " Digite seu peso: ");

var imc = calculaimc(altura, peso);

mostra(nome + " Seu IMC calculado é " + Math.round(imc));

if (imc < 18.5) {
    mostra("Seu IMC está abaixo do recomendado!");
}

if (imc > 35) {
    mostra("Seu IMC está acima do recomendado!");
}

if (imc >= 18.5 && imc <= 35) {
    mostra("Seu IMC está dentro do recomendado.");
}  

</script>

Boa sorte!