Ou placer ma balise parseInt

Résolu
VazyoO_ Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
slt, j'ai besoin d'aide car je ne trouve pas ou placer ma balise parseInt dans mon code javascript
voici mo code :
function resoudre()
{
var monSuperCalcul = document.getElementById("case1").value+document.getElementById("case2").value+document.getElementById("case3").value+document.getElementById("case4").value+document.getElementById("case5").value+document.getElementById("case6").value+document.getElementById("case7").value+document.getElementById("case8").value+document.getElementById("case9").value+document.getElementById("case10").value+document.getElementById("case11").value+document.getElementById("case12").value+document.getElementById("case13").value+document.getElementById("case14").value+document.getElementById("case15").value+document.getElementById("case16").value+document.getElementById("case17").value+document.getElementById("case18").value+document.getElementById("case19").value+document.getElementById("case20").value+document.getElementById("case21").value+document.getElementById("case22").value+document.getElementById("case23").value+document.getElementById("case24").value+document.getElementById("case25").value+document.getElementById("case26").value+document.getElementById("case27").value+document.getElementById("case28").value+document.getElementById("case29").value+document.getElementById("case30").value+document.getElementById("case31").value+document.getElementById("case32").value+document.getElementById("case33").value+document.getElementById("case34").value+document.getElementById("case35").value/document.getElementById("case36");
document.getElementById("case37").value=monSuperCalcul;
}

1 réponse

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

J'aurais plusieurs remarques.
1 - Tu devrais regarder le fonctionnement des boucles : avec un for (var i = 1; i < 36; i++) tu peux largement simplifier ton code.
2 - parseInt n'est pas une balise, mais une fonction.
3 - parseInt prend en entrée une chaîne de caractère (ce qui est probablement la nature de chacune des valeurs de tes cases) et ressort un entier. Or tes calculs se basent sur des entiers. Ce sont donc chacun de tes termes de l'addition qui doivent être transformés en entiers
4 - Attention à la priorité des opérateurs : A+B+C/3 n'est pas la même chose que (A+B+C)/3. Et je pense que c'est cette dernière opération que tu veux réellement faire.

En bref, je te propose ce code :
function resoudre()
{
    var resultat = 0;
    for (var i = 1; i < 36; i++)
    {
        var case = "case" + i;
        resultat += parseInt(document.getElementById(case).value);
    }
    document.getElementById("case37").value = resultat / parseInt(document.getElementById("case36").value);
}


Xavier
0
VazyoO_ Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
slt, Xavier merci pour ta réponse rapide mais cela ne marche toujours pas, en effet je veux calculer une moyenne de classe avec une capacité de 35 notes mais avec ton programme ça ne calcule rien
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Erreur toute bête, j'ai appelé la variable case, alors que c'est un nom réservé...
change « var case » en « var nom », puis dans la ligne juste en dessous, remplace aussi « case » par « nom ».

Xavier
0
VazyoO_ Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
ça me marque NaN en résultat
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Y a-t-il des cases non ou mal remplies ? (vide, lettres...)
0
VazyoO_ Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
oui enfaite je veux faire ce programme pour une capacité maximale de 35 élèves mais il peut y en avoir
moins
0