Problemas com condicionais no JavaScript?

Sei que estou abusando, mas podem me ajudar de novo...

<script>

var nome,P2,T2,media;

nome=(prompt("digite o nome"));

P2=parseFloat(prompt("digite P2");

T2=parseFloat(prompt("digite T2");

media=P2+T2/2;

document.write("o valor da soma "+P2+"+"+t2+"/2 é igual a "+média);

media=parseInt(prompt("digite média do aluno"));

if(media for>=6.0) {

document.write("aprovado");

}

else{

document.write("reprovado");

}

</script>

O que estou fazendo de errado?

Comments

  • * prompt() requer 2 argumentos

    * faltando um ")" na 6ª e 7ª linha

    * definiu "media" e leu "média" na hora de escrever (olha o acento)

    * calculo errado para a media, está somando P2 com a metade de T2

    * definiu "T2" e leu "t2" na hora de escrever (olha o maiúsculo)

    * pediu para digitar a media de novo, não é necessário

    * converteu para int e comparou com float, não causa erro mas causa imprecisão (não no seu caso porque comparou com 6.0)

    * expressão mal formada na condição (usou a palavra chave for sem necessidade e no lugar errado)

    Corrigido fica assim:

    <script>

    <!--

    var nome,P2,T2,media;

    nome=(prompt("digite o nome",""));

    P2=parseFloat(prompt("digite P2",""));

    T2=parseFloat(prompt("digite T2",""));

    media=(P2+T2)/2;

    document.write("o valor da soma ("+P2+"+"+T2+")/2 é igual a "+media);

    //media=parseInt(prompt("digite média do aluno",""));

    if(media>=6.0) {

    document.write("<br/>aprovado");

    }

    else{

    document.write("<br/>reprovado");

    }

    //-->

    </script>

  • var nome,P2,T2,media;

    nome=(prompt("digite o nome"));

    P2=parseFloat(prompt("digite P2"));

    T2=parseFloat(prompt("digite T2"));

    media=(P2+T2)/2;

    document.write("o valor da soma "+P2+"+"+T2+"/2 é igual a "+media);

    media=parseInt(prompt("digite média do aluno"));

    if(media >= 6.0) {

    document.write("aprovado");

    }

    else{

    document.write("reprovado");

    }

  • coisas simples,

    verifique a quantidade de parentesis no parseFloat

    depois nao coloque acento no média no response.write

    depois pense na precedencia de operadores (primeiro se divide depois soma)

    function bla() {

    //var nome,P2,T2,media;

    alert("a");

    nome=(prompt("digite o nome"));

    P2=parseFloat(prompt("digite P2"));

    T2=parseFloat(prompt("digite T2"));

    media=P2+T2/2;

    //document.write("o valor da soma "+P2+"+"+t2+"/2 é igual a "+media);

    media=parseInt(prompt("digite média do aluno"));

    if(media >=6.0) {

    document.write("aprovado");

    }

    else{

    document.write("reprovado");

    }

    }

    o resultado foi: o valor da soma 6+6/2 é igual a 9aprovado

    Vejo que está começando com programação web. Sugiro usar o firefox os complementos web developer e firebug para debugar javascript. muito útil

Sign In or Register to comment.