Solucionado (ver solução)
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!