Problème d'accéder a des valeurs dans un tableau associatif
Résolu
wsara5454
Messages postés
57
Date d'inscription
Statut
Membre
Dernière intervention
-
wsara5454 Messages postés 57 Date d'inscription Statut Membre Dernière intervention -
wsara5454 Messages postés 57 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit problème dans la fonction "calculer_moyenne" qui calcule des valeurs dans un tableau associatif ,
lorsque j'appuie sur la bouton "moyenne" le programme n'affiche pas le résultat attendu
aidez moi svp :)
merci d'avance
j'ai un petit problème dans la fonction "calculer_moyenne" qui calcule des valeurs dans un tableau associatif ,
lorsque j'appuie sur la bouton "moyenne" le programme n'affiche pas le résultat attendu
aidez moi svp :)
merci d'avance
<html> <head> <style type="text/css"> ul { color: blue } .couleurLi { color:black;font-style:italic;font-weight:bold; } </style> <script language="javascript"> function Etudiants(a,b,c) { this.Ncin=a; this.NonPrenom=b; this.TabNote=c; this.TabMatiere=null; this.afficher=function() { document.write("<ul>"); document.write("<li>"); document.write("<span class=couleurLi>"); document.write("Ncin: "+this.Ncin+"<br/>"); document.write("</span>"); document.write("</li>"); document.write("<li>"); document.write("<span class=couleurLi>"); document.write("Nom et Prenom: "+this.NonPrenom+"<br/>"); document.write("</span>"); document.write("</li>"); document.write("<li>"); document.write("<span class=couleurLi>"); document.write("TabNotes: <br/>"); document.write("<br/>"); document.write("<table border=1 cellspacing=0 bordercolor=#3BB9FF>"); document.write("<font color=#4E387E>"); document.write("<tr>"); for(i in this.TabNote) { document.write("<td><b>"+i+"</b></td>"); } document.write("</tr>"); document.write("<tr>"); for(i in this.TabNote) { document.write("<td>"+this.TabNote[i]+"</td>"); } document.write("</tr>"); document.write("</font>"); document.write("</table>"); document.write("<br/>"); document.write("<li>"); document.write("<span class=couleurLi>"); document.write("TabMatiere: <br/>"); document.write("<br/>"); document.write("<table border=1 cellspacing=0 bordercolor=#3BB9FF>"); document.write("<tr>"); for(i in this.TabMatiere) { document.write("<td><b>"+i+"</b></td>"); } document.write("</tr>"); document.write("<tr>"); for(i in this.TabMatiere) { document.write("<td>"+this.TabMatiere[i]+"</td>"); } document.write("</tr>"); document.write("</table>"); } document.write("</span>"); document.write("</li>"); document.write("</ul>"); this.setTabM=function(v) { this.TabMatiere=v; } } Etudiants.prototype.calculer_moyenne=function() { s=0; x=0; for(i in this.TabNote) { s=s+(this.TabNote[i]*this.TabMatiere[i]); x=x+this.TabMatiere[i]; } w=s/x; return(w); } </script> </head> <body> <script language="javascript"> tab1={Algorithme:"12",Web1:"13",Web2:"15"}; tab2={Algorithme:"2",Web1:"3",Web2:"5"}; e1=new Etudiants("12345678","Ali Ben Salah",tab1); e1.setTabM(tab2); e1.afficher(); </script> <br> <br> <input type="button" value=" moyenne " onclick="alert(calculer_moyenne())"> </body> </html>
A voir également:
- Problème d'accéder a des valeurs dans un tableau associatif
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif ci-dessous. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. il manque 5 valeurs dans le tableau ci-dessous. retrouvez-les dans votre tableau, puis reportez-les arrondies à l’entier le plus proche. - Guide
- Imprimer un tableau excel - Guide
2 réponses
Bonjour
1er problème : calculer_moyenne est une méthode, il faut l'appeler avec un objet :
2 ème problème : tes notes sont des chaînes. Quand tu ajoutes les coefficients, (x=x+this.TabMatiere[i]) tu les concatènes et tu obtiens 0235 au lieu de 10, ce qui se voit facilement en faisant un alert (s+" "+x); dans calculer_moyenne
Deux solutions, définir tes coefficients comme des nombres :
ou utiliser parseInt pour transformer les chaînes en nombres :
1er problème : calculer_moyenne est une méthode, il faut l'appeler avec un objet :
onclick="alert(e1.calculer_moyenne())
2 ème problème : tes notes sont des chaînes. Quand tu ajoutes les coefficients, (x=x+this.TabMatiere[i]) tu les concatènes et tu obtiens 0235 au lieu de 10, ce qui se voit facilement en faisant un alert (s+" "+x); dans calculer_moyenne
Deux solutions, définir tes coefficients comme des nombres :
tab2={Algorithme:2,Web1:3,Web2:5};
ou utiliser parseInt pour transformer les chaînes en nombres :
x=x+parseInt(this.TabMatiere[i]);