|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Problème de tabeau dans un code orienté objet [ Windows / System ] (Guiiil)
Informations & options pour cette discussion
dimanche 2 novembre 2008 à 22:21:38 |
Problème de tabeau dans un code orienté objet

Guiiil
|
Bonsoir, je débute actuellement en C++ orienté objet et je suis bloqué avec ce programme qui doit réaliser un tableau d'élèves, prendre leur moyenne et faire la moyenne de tous cela!
J'ai déjà réalisé le programme suivant : #include "stdafx.h" #include <stdio.h> #include <iostream> #include <string> using namespace std;
class Eleve { private : string nom; float note; public : void init(string pnom, float pnote); //initialisation string getNom(); //retourne le nom de l'élève float getNote(); //retourne la note de l'élève };
class TabEleves { private : Eleve ele[36]; //les élèves mémorisés int nb; //nombre d'élèves mémorisés public : void init(); //initialisation int getNb(); //retourne le nombre d'élèves mémorisés void ajouter(Eleve ele); //ajoute un élève dans le tableau Eleve valeur(int i); //retourne l'élève mémorisé à l'indice i void supprimer(int i); //supprime l'élève mémorisé à l'indice i fin classe };
void saisirEleve(Eleve & eleve); // prototypage de la procédure void resultats(Eleve ele[36]);
void Eleve::init(string pnom, float pnote) { nom = pnom; note = pnote; }
string Eleve::getNom() { return nom; }
float Eleve::getNote() { return note; }
void TabEleves::init() { nb = 0; int i; Eleve elacon; elacon.init("",0); for (i = 0; i < 35; i++) { ele[i] = elacon; } }
int TabEleves::getNb() { return nb; }
void TabEleves::ajouter(Eleve eleve) { ele[nb] = eleve; nb++; }
Eleve TabEleves::valeur(int i) { return ele[i]; }
void TabEleves::supprimer(int i) { //ele[i] = 0; }
void saisirEleve(Eleve & eleve) // Implementation de la procedure. { string pnom; float pnote; cout << "veuillez saisir le nom de l'élève" << endl; cin >> pnom; cout << endl << "veuillez saisir la note de l'élève" << endl; cin >> pnote; cout << endl; eleve.init(pnom, pnote); }
void resultats(TabEleves tabele) { float notelaplusbasse = 0; float notelaplushaute = 0; string nomdufaible; string nomdufort; float moyenne = 0; int j = 0; int i;
for (i=0; i < 35; i++) { Eleve tabEle1 = tabele.valeur(i); float note1 = tabEle1.getNote();
if (note1 < notelaplusbasse) {
notelaplusbasse = note1; nomdufaible = tabEle1.getNom(); } if (note1 > notelaplushaute ) { notelaplushaute = note1; nomdufort = tabEle1.getNom(); } moyenne = note1 + moyenne; j++; } moyenne = moyenne / j; cout << "Elève le plus nul :" << notelaplusbasse << " : " << nomdufaible << endl; cout << "Elève le plus fort :" << notelaplushaute << " : " << nomdufort << endl; cout << "Moyenne de la classe :" << moyenne << endl; }
void main (void) { Eleve eleve; TabEleves tabele; saisirEleve(eleve); tabele.ajouter(eleve); resultats(tabele); system("pause"); }
Le problème, après recherche, se situe au niveau de cette partie du code (je pense) :
void TabEleves::ajouter(Eleve eleve) { ele[nb] = eleve; nb++; } J'ai tenté quelques modifications, mais rien n'y fait, la boucle ne veut pas se mettre en route...
Pourrais-je, s'il vous plait, avoir votre avis sur la question?
|
|
|
lundi 3 novembre 2008 à 08:27:04 |
Re : Problème de tabeau dans un code orienté objet

Lucky92
|
Tu dois initialiser nb dans le constructeur.
|
|
|
mardi 4 novembre 2008 à 23:23:32 |
Re : Problème de tabeau dans un code orienté objet

Guiiil
|
C'est bon, ça a fini par marché, merci beaucoup pour le conseil ^^.
|
|
|
Cette discussion est classé dans : int, void, float, eleve, tabeleves
Répondre à ce message
Sujets en rapport avec ce message
équation et tableaux [ par cabarrus ]
je ne trouve pas l'erreur dans mon programme?#include#includeint deltanul(int);float deltainf(float);float deltasup(float);void main(void){float a,b,c
le mode graphique sur dos [ par alen ]
alb#include#include#include#include#includeint xgclot,xdclot,yh
Errreur [ par RM50Man ]
Mon code ne marche pas: Le compilateur devcpp me met build error 1 #include /* contient déjà et */ #include #include #include void reset
Pavé tournant [ par nisaloncaje ]
Bonjour, je désirais pour commencer en OpenGL sous devc++ faire un programme simulant un pavé tournant autour de l'axe y : voici mon code source :#inc
map [ par taieb84 ]
salut j'ai une classe caisse class caisse{ float val; int nbr; public: bool exist(float); void ajouter(floa
conversion float to double [ par chalmia2s ]
Bonjour,J'ai un probleme de conversion float, double, voila la partie du programme concerné: float *rd, float*rq; double
Simulateur & conduite automatique d'1 voiture [ par sonia393 ]
Bonjour, voila, je suis en train de créer un petit simulateur de voiture avec conduite automatique : j'ai un état 1 (position, cap, vitesse, accélérat
Algorithme RSA utilisation des floats [ par douss4 ]
Bonsoir,J'ai essayé d'écrire un algorithme de cryptage (RSA). Le code à bien marché avec des int. J'ai changé les int par des float. Au moment du décr
opération flottante incorrecte ? [ par steph12358 ]
Bonjour tout le mondeDésolé pour la question super basique mai j'ai un soucisCe code fonctionnait dans mon projet jusqu'à ce que j'ajoute un contrôle
Livres en rapport
|
Comparez les prix Nouvelle version

LG KP501
Entre 9€ et 159€
|