begin process at 2012 05 28 16:55:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

besoin d'aide sur un programme de calcul de moyenne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

besoin d'aide sur un programme de calcul de moyenne

dimanche 2 novembre 2008 à 19:41:46 | besoin d'aide sur un programme de calcul de moyenne

Eaglevmt4

bonjour a tous je débute en programmation, je suis en première année de bts iris et j'ai un petit programme a rendre mais j'avoue avoir pas mal de dificultées....

le programme est censé receuillir les notes d'un élève via des vecteurs et ensuite de calculer sa moyenne ( sa a l'air tout bete comme sa^^)
jvous donne directement mon code source, sa devrait mieux vous parler.

voila mon .h :

#ifndef UntClassEtudiantH
#define UntClassEtudiantH
#define NB_NOTES 10
#define NOM_ETUDIANT 15
#include <vcl.h>
//---------------------------------------------------------------------------

class Etudiant {

private :
  char vectnom[NOM_ETUDIANT] ;  // stock le nom de l'élève (15 caractères) 
  double vectnotes[NB_NOTES];   //stock jusqu'a 10 notes de l'élève
  float moyenne ;   // contient la moyene de l'élève (float - précis,rapide.suffisant)
  int compteurNotes ;           // compte le nombre de note obtenu par l'élève

public :
//---------------------.:Constructeur,Destruceur de la class:.---------------


  Etudiant() ;  // Constructeur sans parametre
  ~Etudiant() ;


//-----------------------.:Fonctions lire et écrire nom:.--------------------


  void EcrireNom(char prmNom) ;
  char LireNom(void) ;


//----------------------.:Fonctions Lire et Ecrire moyenne:.-----------------


  void CalculerMoyenne(float prmMoyenne) ;
  float LireMoyenne(void) ;

 

//---------------.:Fonctions Lire et Ecrirevectnotes[NB_NOTES]:.-------------


  void EcrireVectnotes(double prmVectnotes) ;
  double LireVectnotes(void) ;

//-------------------.:Fonctions Lire et Ecrire CompteurNotes:.---------------


  void EcrirecompteurNotes(int prmCompteurNotes) ;
  int LireNbNotes(void) ;


} ;

#endif
--------------------------------------------------------------------------------------



et voila mon .cpp

#pragma hdrstop

#include "UntClassEtudiant.h"
#include <vcl.h>
//---------------------------------------------------------------------------

#pragma package(smart_init)

//----------------------------Constructeur-----------------------------------


Etudiant :: Etudiant(){         // Constructeur sans parametre

  vectnom[NOM_ETUDIANT] = 0 ;  // Code ascii 0 qui équivaut a un caractére nul
  moyenne = -1 ;               // Initialisation a -1 de l'attribut   moyenne
  vectnotes[NB_NOTES] = -1 ;   // Initialistion a -1
  compteurNotes = 0 ;          // Initiatlisation a 0 du compteur
  int i ;

  for( i = 0; i <= NB_NOTES; i++){        //boucle qui inialise le vecteur notes
  vectnotes[i] = vectnotes[NB_NOTES] ;
  }
  for( i = 0; i <= NOM_ETUDIANT ; i++){   //boucle qui inialise le vecteur nom
  vectnom[i] = vectnom[NOM_ETUDIANT] ;
  }
}
//----------------------------Destructeur------------------------------------

Etudiant :: ~Etudiant(){
}
//------------------Fonctions Lire et Ecrire vecteurnom----------------------


char Etudiant :: LireNom(void){
  return vectnom[NOM_ETUDIANT] ;
}
void Etudiant :: EcrireNom(char prmNom){
  vectnom[NOM_ETUDIANT] = prmNom ;
}


//--------------------Fonctions Lire et Calculer moyenne---------------------


  float Etudiant :: LireMoyenne(void){
    return moyenne ;
}
  void Etudiant :: CalculerMoyenne(float prmMoyenne) {
    moyenne = vectnotes[NB_NOTES] / compteurNotes ;
    moyenne = prmMoyenne ;
}
/* Remarque: Risque d'erreur, si j'associe directement a Calculermoyenne une
             valeur quelqconque l'attribut va bien etre modifié mais va instantanément
             changé pour etre egale au vectnotes[NB_NOTES] / compteurNotes
             surtout ke les attributs sont initialisé avec une valeur donc si j'ecrit
             la moyenne via l'appel de la fonction avec un objet sans parametre
             elle va instantanement changé pour etre divisé par un compteur initialisé
             a zero ce qui est problmématique!!*/

/* Remarque : si le vectnotes contient le nb de note recu par léleve pourquoi ne
              pas faire la somme de ces valeurs diviser par la taille du vecteur??
              et donc se passer du compteur! */


//----------------Fonctions Lire et Ecrire CompteurNotes---------------------


  void Etudiant :: EcrirecompteurNotes(int prmCompteurNotes) {
    compteurNotes = prmCompteurNotes ;
// la je peu écrire dans le compteur mais il ne calcul rien, comment faire??
}

  int Etudiant :: LireNbNotes(void) {
    return compteurNotes ;
}


//-------------Fonctions Lire et Ecrire vectnotes[NB_NOTES]------------------

  void Etudiant :: EcrireVectnotes(double prmVectnotes) {
    vectnotes[NB_NOTES] = prmVectnotes ;
}
  double Etudiant :: LireVectnotes(void) {
    return vectnotes[NB_NOTES] ;
}
----------------------------------------------------------------------------------

pour faire tester le bon fonctionnement je déclare un objet sans parametre dans une autre fiche avec lequel j'appel les différentes fonctions lire et écrire et vérifie le résulta attendu avec le déboger.
Seulement impossible dan l'état actuel de compter le nb de notes, j'arrive pas a le coder! et puis jpense avoir des erreurs dans ma fonctions CalculerMoyenne magré que le compilateur ne renvoie aucune erreur.
d'ailleurs j'arrive pas non plus a utiliser mes fonctions, le compilateur me renvoie cette erreur : "structure necessaire sur le coté gache.ou*." (mwa pas comprendre) j'ai essayer différentes façon que voila :

float resultat ;
resultat = objEtudiant.CalculerMoyenne(20) ;
            
EdtSaisieNotes->Text = objEtudiant.EcrireNom("tartempion") ;

Merci a celui qui aura le courage de lire ce pavé et de m'aider!!! (jspr avoir été assez clair)

mardi 4 novembre 2008 à 18:40:05 | Re : besoin d'aide sur un programme de calcul de moyenne

uaip

Bon, j'ai pas lu jusqu'à la fin mais déjà il me semble que tes 2 boucles for() sont fausses, non ?

  for( i = 0; i <= NB_NOTES; i++){        //boucle qui inialise le vecteur notes
  vectnotes[i] = vectnotes[NB_NOTES] ;
  }
  for( i = 0; i <= NOM_ETUDIANT ; i++){   //boucle qui inialise le vecteur nom
  vectnom[i] = vectnom[NOM_ETUDIANT] ;
  }


Le fait de mettre le égal revient à compter 11 éléments dans le 1er cas (NB_NOTES + 1) et 16 dans le 2ème cas (NOM_ETUDIANT + 1).
Donc forcément ça te retourne une erreur dès que i est égal à chacune de tes constantes.

Je ne sais pas si c'est vraiment ça le problème, mais déjà corrige ça.


Cordialement, uaip.


Cette discussion est classée dans : void, moyenne, nb, notes, etudiant


Répondre à ce message

Sujets en rapport avec ce message

gestion des notes [ par imenoz ] j'ai un mini projet en langage c sur les gestion des notes mai je ne peut pas le faire ce prog consiste a donner - les matiere pour une classe - les comment en traite les fichiers en c++ [ par sahliali ] je veux construire un fichier etudiant qui contient la matricule et le nom et le prenom de l'etudiant et un autre fichier moyenne qui contient la matr aide c : gestion de note et de nom avec en utilisant un tableau de structure [ par cheza33 ] Bonjour,Voilàs j'ai réalisé un programme permettant de gerer des notes : saisi des notes, enregistrement, affichage, calcul de moyenne et lecture des lit au clavier des entiers positifs et calcul leur moyenne [ par themessenger ] bonjour on vient de commencer la programmation c ...et j'ai petit souci avec mon code .J'arrive pas à calculer la moyenne !!! quand j'execute il m'aff Variables globales [ par nisaloncaje ] Bonjour, je suis en train de créer un petit programme en c (j'utilise devc++) et j'ai un problème : je n'y comprends rien au variables globales !En ef langage C [ par wafa_mef ] merci de me considerer un membre de ce club et j' ai le plaisir de participer avec vous .merci pour les codes sources envoyés. j'ai écrit un programme comment gerer ce projet pour que deux etudiants n'aient pas le meme code [ par desco182 ] Salut a tous j'aimerais bien que quelqu'un m'aide .#include#include#include#ifndef ETUDIANT_H#define ETUDIANT_Hclass etudiant{int code;<br / calcule de moyenne d'un etudiant [ par smailhou ] Bonjourvoila je suis debutant en programmation et j ai un tp a rendre alors j aimerais bien que vous m aidiez merci voila l exercise. On désire créer celà n'enregistre pas [:(!],grrrr [ par oceane67 ] voilà, mon programme n'enregistre toujours pas, je ne sais pas pourquoi, surtout qu'il fait comme si c'etait le cas, je desepesere,voici mon programme Membres amies [ par gdefrance ] Bonsoir à tous, débutant en C++, j'ai besoin de votre aide pour trouver mon bug dans le programme.Voilà, je dois faire un exo avec un membre friend et


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales