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!
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>
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...