Moyenne generale

cs_rahimk Messages postés 4 Date d'inscription mercredi 24 octobre 2012 Statut Membre Dernière intervention 13 juin 2016 - Modifié par jordane45 le 13/06/2016 à 02:15
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - 13 juin 2016 à 17:57
Bonjour,
j'ai un problème pour calculer la moyenne générale de plusieurs moyenne matière!
exemple j'ai 8 matière et chacune sa moyenne et j aimerai avoir la moyenne générale.
voici mon code:
 <?php
  //$moyenne=0;// initialistaion du moyenne au depart
  $nbmat=0 ;//initialisation du nombre de matiere
  $moyenneglobal=0;
  $nbmat=8;
  $moyenneglobal=0;
 while($tab= mysql_fetch_array($Recordset1)){
 $moyenne=0;
    $PrenomEtudiant=$tab['nomUtilisateur'];
 $NomEtudiant=$tab['prenomUtilisateur'];
 $CoefModule=$tab['CoefModule'];
 $devoir=$tab['devoir'];
 $examen=$tab['examen']; 
 $module=$tab['nomModule'];
?>
<?php $moyenne=($devoir*0.4)+($examen*0.6); echo $moyenne; 
   $moyenneglobal=$moyenne+$moyenneglobal/8; ?>


EDIT : Ajout des balises de code

1 réponse

nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
Modifié par nagashima le 13/06/2016 à 17:57
Salut.

Bon je refais un peu ton code, tu as l air de vouloir trouver mais tu manques de logique et de connaissances (ca viendra et c est lié - c'est la raison pour laquelle je donne du code et non des pistes^^). Déjà la première partie :
 <?php
  $moyenneglobal=0;
  $nbmat=8;
  
while($tab= mysql_fetch_array($Recordset1)){ //je sais pas d ou ca vient mais je suppose que la requete est bonne
 // $moyenne=0;  //inutile
  $PrenomEtudiant=$tab['nomUtilisateur'];
  $NomEtudiant=$tab['prenomUtilisateur'];
  $CoefModule=$tab['CoefModule'];
  $devoir=$tab['devoir'];
  $examen=$tab['examen']; 
  $module=$tab['nomModule'];
 //j'ai viré les deux balises car aucuns sens ici 
 $moyenne=($devoir*0.4)+($examen*0.6); //ca si c'est en effet des nombres (entiers/double/float) c'est bon
 echo 'Moyenne '. $module. ' : ' . $moyenne . '<br />'; //de la mise en forme ca fait pas de mal
 


bon là on affiche la moyenne du module. Jusque ici ca va. Par contre là ou y a un problème c'est sur la fin -> tu n'as pas faire la moyenne dans la boucle vu que tu n'as pas tous les résultats. De même, tu ne divisera pas par 8 mais par la somme des coef module. Car oui, si c'est 8 matieres coef tu divise par 8, s'il y a un des 8 modules coef 2, c'est par 9 qu'il faudra diviser (et ajouter 2 fois la note, bien entendu).

Donc ce qu'on va faire
$nbmat=0;
au départ à la place de
$nbmat=8;
.

je reprends donc la suite:

 
 $moyenneglobal+=($moyenne * $CoefModule);
 $nbMat += $CoefModule;
}
 
echo 'Moyenne globale :' . ($moyenneglobal / $nbMat) . '<br />';



naga
0
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
13 juin 2016 à 17:57
ah j avais pas fais gaffe mais

 $PrenomEtudiant=$tab['nomUtilisateur'];
  $NomEtudiant=$tab['prenomUtilisateur'];


c'est peu etre pas ce que tu voulais faire =p
0
Rejoignez-nous