begin process at 2010 02 10 09:10:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

Problème de tabeau dans un code orienté objet


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

Problème de tabeau dans un code orienté objet

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ée 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,577 sec (3)

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