Enviado em 12/10/2014 - 20:36h
Ola pessoal , eu decidi tentar fazer uma coisa (nao posso falar agr , depois vcs verao),e usei esse codigo , mas acho que ele está muito gambiarra.var nota1 = 0,nota2 = 0,nota3 = 0,nota4 = 0; function testaValor(){ if(nota1 < 0 || nota1 > 10 || isNaN(nota1)){ alert("Nota 1 " + materia + " Invalida"); return "Erro"; } if(nota2 < 0 || nota2 > 10 || isNaN(nota2)){ alert("Nota 2 " + materia + " Invalida"); return "Erro"; } if(nota3 < 0 || nota3 > 10 || isNaN(nota3)){ alert("Nota 3 " + materia + " Invalida"); return "Erro"; } if(nota4 < 0 || nota4 > 10 || isNaN(nota4)){ alert("Nota 4 " + materia + " Invalida"); return "Erro"; } } function pegaP() { materia="Portugues"; nota1 = document.getElementById('notaPort1').value; if(testaValor() == "Erro"){return;} nota2 = document.getElementById('notaPort2').value; if(testaValor() == "Erro"){return;} nota3 = document.getElementById('notaPort3').value; if(testaValor() == "Erro"){return;} nota4 = document.getElementById('notaPort4').value; if(testaValor() == "Erro"){return;} var media = parseFloat(nota1) + parseFloat(nota2) + parseFloat(nota3) + parseFloat(nota4); media /= 4; document.getElementById("MediaP").innerHTML = media; } function pegaM() { materia="Matematica"; nota1 = document.getElementById('notaMat1').value; if(testaValor() == "Erro"){return;} nota2 = document.getElementById('notaMat2').value; if(testaValor() == "Erro"){return;} nota3 = document.getElementById('notaMat3').value; if(testaValor() == "Erro"){return;} nota4 = document.getElementById('notaMat4').value; if(testaValor() == "Erro"){return;} var media = parseFloat(nota1) + parseFloat(nota2) + parseFloat(nota3) + parseFloat(nota4); media /= 4; document.getElementById("MediaM").innerHTML = media; } function pegaC() { materia="Ciencias"; nota1 = document.getElementById('notaCie1').value; if(testaValor() == "Erro"){return;} nota2 = document.getElementById('notaCie2').value; if(testaValor() == "Erro"){return;} nota3 = document.getElementById('notaCie3').value; if(testaValor() == "Erro"){return;} nota4 = document.getElementById('notaCie4').value; if(testaValor() == "Erro"){return;} var media = parseFloat(nota1) + parseFloat(nota2) + parseFloat(nota3) + parseFloat(nota4); media /= 4; document.getElementById("MediaC").innerHTML = media; }
Enviado em 12/10/2014 - 20:53h
É só arrumar a indentação ;)var nota1 = 0; var nota2 = 0; var nota3 = 0; var nota4 = 0; function testaValor() { if(nota1 < 0 || nota1 > 10 || isNaN(nota1)) { alert("Nota 1 " + materia + " Invalida"); return "Erro"; } if(nota2 < 0 || nota2 > 10 || isNaN(nota2)) { alert("Nota 2 " + materia + " Invalida"); return "Erro"; } if(nota3 < 0 || nota3 > 10 || isNaN(nota3)) { alert("Nota 3 " + materia + " Invalida"); return "Erro"; } if(nota4 < 0 || nota4 > 10 || isNaN(nota4)) { alert("Nota 4 " + materia + " Invalida"); return "Erro"; } } function pegaP() { materia="Portugues"; nota1 = document.getElementById('notaPort1').value; if(testaValor() == "Erro"){return;} nota2 = document.getElementById('notaPort2').value; if(testaValor() == "Erro"){return;} nota3 = document.getElementById('notaPort3').value; if(testaValor() == "Erro"){return;} nota4 = document.getElementById('notaPort4').value; if(testaValor() == "Erro"){return;} var media = parseFloat(nota1) + parseFloat(nota2) + parseFloat(nota3) + parseFloat(nota4); media /= 4; document.getElementById("MediaP").innerHTML = media; } function pegaM() { materia="Matematica"; nota1 = document.getElementById('notaMat1').value; if(testaValor() == "Erro"){return;} nota2 = document.getElementById('notaMat2').value; if(testaValor() == "Erro"){return;} nota3 = document.getElementById('notaMat3').value; if(testaValor() == "Erro"){return;} nota4 = document.getElementById('notaMat4').value; if(testaValor() == "Erro"){return;} var media = parseFloat(nota1) + parseFloat(nota2) + parseFloat(nota3) + parseFloat(nota4); media /= 4; document.getElementById("MediaM").innerHTML = media; } function pegaC() { materia="Ciencias"; nota1 = document.getElementById('notaCie1').value; if(testaValor() == "Erro"){return;} nota2 = document.getElementById('notaCie2').value; if(testaValor() == "Erro"){return;} nota3 = document.getElementById('notaCie3').value; if(testaValor() == "Erro"){return;} nota4 = document.getElementById('notaCie4').value; if(testaValor() == "Erro"){return;} var media = parseFloat(nota1) + parseFloat(nota2) + parseFloat(nota3) + parseFloat(nota4); media /= 4; document.getElementById("MediaC").innerHTML = media; }
Enviado em 12/10/2014 - 21:58h
Um jeito de organizar melhor esse código seria utilizar um vetor para armazenar as notas, e você só precisaria percorrê-lo em vez de testar várias vezes a mesma coisa com variáveis diferentes. E também, nas funções pegaP(), pegaM() e pegaC() você chama a função para testar o valor das notas quatro vezes (uma para cada valor lido dos inputs), e a função valida todos os quatro valores todas as vezes. Poderia primeiro pegar todos os valores e só no final testar.function testaValor(notas, materia) { for (var i = 0; i < notas.length; ++i) { if (notas[i] < 0 || notas[i] > 10 || isNaN(notas[i])) { alert("Nota " + (i + 1) + " " + materia + " Invalida"); return false; } } return true; } function calculaMedia(notas) { var total = 0; for (var i = 0; i < notas.length; ++i) { total += parseFloat(notas[i]); } return (total / notas.length); } function pegaP() { var materia = "Portugues"; var notas = []; notas.push(document.getElementById('notaPort1').value); notas.push(document.getElementById('notaPort2').value); notas.push(document.getElementById('notaPort3').value); notas.push(document.getElementById('notaPort4').value); if (!testaValor(notas, materia)) { return; } var media = calculaMedia(notas); document.getElementById("MediaP").innerHTML = media; } function pegaM() { var materia = "Matematica"; var notas = []; notas.push(document.getElementById('notaMat1').value); notas.push(document.getElementById('notaMat2').value); notas.push(document.getElementById('notaMat3').value); notas.push(document.getElementById('notaMat4').value); if (!testaValor(notas, materia)) { return; } var media = calculaMedia(notas); document.getElementById("MediaM").innerHTML = media; } function pegaC() { var materia = "Ciencias"; var notas = []; notas.push(document.getElementById('notaCie1').value); notas.push(document.getElementById('notaCie2').value); notas.push(document.getElementById('notaCie3').value); notas.push(document.getElementById('notaCie4').value); if (!testaValor(notas, materia)) { return; } var media = calculaMedia(notas); document.getElementById("MediaC").innerHTML = media; }
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano