Moyenne generale

cs_rahimk 4 Messages postés mercredi 24 octobre 2012Date d'inscription 13 juin 2016 Dernière intervention - 13 juin 2016 à 00:22 - Dernière réponse : nagaD.scar 4269 Messages postés samedi 8 septembre 2007Date d'inscription 29 août 2018 Dernière intervention
- 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
Afficher la suite 

Votre réponse

2 réponses

nagaD.scar 4269 Messages postés samedi 8 septembre 2007Date d'inscription 29 août 2018 Dernière intervention - Modifié par nagashima le 13/06/2016 à 17:57
0
Merci
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
nagaD.scar 4269 Messages postés samedi 8 septembre 2007Date d'inscription 29 août 2018 Dernière intervention - 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
Commenter la réponse de nagaD.scar

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.