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

a função "if" não está sendo visualiza

4 respostas

Oi Pedro,

Você pode postar o seu código pra gente te ajudar no problema fazendo favor?

<meta charset= "utf=8">

<script>

function pulaLinha(){

    document.write("<br>");
}



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



function soma(a,b,c,d){
    mostra(a+b+c+d);
    return mostra()
}

var prova= parseInt(prompt("quantos ponto vc fez na 1º prova?"));
var prova2= parseInt(prompt("quantos pontos vc fez na 2º prova?"));
var prova3= parseInt(prompt("quantos pontos vc fez na 3º prova"));
var prova4= parseInt(prompt("quantos pontos vc fez na 4º prova"));

var total = soma(prova,prova2,prova3,prova4);

    var pontos = 240

if (total < pontos){
   mostra("vc está reprovado.");
}


if (total > pontos){
    mostra("vc passou de ano");
} 


if (total ==pontos){
    mostra("vc passou por pouco, agradeça a deus.");
}


mostra("deus é fiel");
</script>
solução!

Bom dia @Pedro.

Segue abaixo o código com o que poderia estar dando errado no seu código, está comentado a parte original e a solução que seria mais cabível para seu código.

<meta charset= "utf=8">
<script>

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

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

// Original

/*
function soma(a,b,c,d){
    mostra(a+b+c+d);
    return mostra()
}
*/

// Solução
function soma(a,b,c,d){
    return a+b+c+d;
}

var prova= parseInt(prompt("quantos ponto vc fez na 1º prova?"));
var prova2= parseInt(prompt("quantos pontos vc fez na 2º prova?"));
var prova3= parseInt(prompt("quantos pontos vc fez na 3º prova"));
var prova4= parseInt(prompt("quantos pontos vc fez na 4º prova"));

var pontos = 240;
var total = soma(prova,prova2,prova3,prova4);

// Aqui mostra a variável total recebendo o retorno da função soma
mostra("Pontos: " + total);

if (total < pontos){
   mostra("vc está reprovado.");
}

if (total > pontos){
    mostra("vc passou de ano");
} 

if (total == pontos){
    mostra("vc passou por pouco, agradeça a deus.");
}

</script>

A situação é que quando você criou a função de somar você pediu para que a função mostrasse para você a soma e fez o retorno da função mostra vazio, o que estaria fazendo retornar um "undefined" e não executar os ifs, pois não se encontra o valor para fazer as condições acontecerem.

Então logo a melhor forma de arrumar isso foi, pedindo na função soma o retorno do valor e guardando ela na variável total para assim fazer as condicionais executarem da forma correta.

obg David...