Rechercher : dans
Par :

Aide pour code C/c++ gestion classe

moussadjijunior, le 12 nov 2008 à 12:50:53 
 Signaler ce message aux modérateurs

Bonjour à tous
J'oses croire que vous allez tous bien et que vos familles ne manque de rien.Je viens aujourd'hui auprés de vous car j'ai u probleme avec un code en c++ sur la gestion d'une classe d'eleve que j'amerai optimiser.
Presentement voici ces fontions:
* il crée une classe
* il demande le nombre d'eleve a créer
* il demande le nombre de matiéres
* il demande les notes de chaque eleve par matieres
* il calcul la moyenne de chaque eleves
* il calcul la generale de la classe
J'aimerais si possible que quelqu'un m'aide car j'aimerais y ajouté les fonctions suivantes:
*classement de eleves en fonction de leur moyenne
*affiche la liste des redoublants (moyenne inférieur à 10)
* affiché la liste de ceux qui vont classe superieur ( moyenne superieur à 10 )
Merci d'avance pour votre aide et j'aimerais saluer les administrateurs du site et toutes les personne qui participe à la bonne marche de ce site.
voici mon code:

#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <alloc.h>

class Matiere
{
char* nom;
int coef;
public:
Matiere()
{
nom = (char*)malloc(30*sizeof(char));
cout<<" Cr‚ation d'une nouvelle matiere"<<endl;
cout<<" -------------------------------"<<endl;
cout<<" Nom:";
cin>>nom;
cout<<" Coef:";
cin>>coef;
}
char* getNom()
{
return nom;
}
void setNom(char* n)
{
strcpy(nom,n);
}
int getCoef()
{
return coef;
}
void setCoef(int c)
{
coef = c;
}
void afficher()
{
cout<<"Matiere: "<<nom<<" coef: "<<coef<<endl;
}
};

class Note
{
int valeur;
Matiere* mat;

public:
Note(Matiere m)
{
mat = (Matiere*)malloc(2*sizeof(Matiere));
cout<<" "<<m.getNom()<<": ";
cin>>valeur;
mat[0]=m;
}
int getValeur()
{
return valeur;
}
void setValeur(int v)
{
valeur = v;
}
Matiere* getMatiere()
{
return mat;
}
void setMatiere(Matiere* m)
{
mat = m;
}
void afficher()
{
cout<<" "<<(*mat).getNom()<<": "<<valeur<<endl;
}
};

class Eleve
{
char* nom;
char* prenom;
int age;
char* matricule;
Note* notes;
int nb_notes;

public:
Eleve()
{
prenom = (char*)malloc(30*sizeof(char));
nom = (char*)malloc(30*sizeof(char));
matricule = (char*)malloc(30*sizeof(char));
notes = (Note*)malloc(10*sizeof(Note));
nb_notes =0;
cout<<" Saisie d'un ‚lŠve"<<endl;
cout<<" -----------------------------------"<<endl;
cout<<" Prenom: ";
cin>>prenom;
cout<<" Nom: ";
cin>>nom;
cout<<" Matricule: ";
cin>>matricule;
cout<<" Age: ";
cin>>age;
}
char* getPrenom()
{
return prenom;
}
void setPrenom(char* p)
{
strcpy(prenom,p);
}
char* getNom()
{
return nom;
}
void setNom(char* n)
{
strcpy(nom,n);
}
int getAge()
{
return age;
}
void setAge(int a)
{
age = a;
}
char* getMatricule()
{
return matricule;
}
void setMatricule(char* m)
{
strcpy(matricule,m);
}
void ajouterNote(Matiere m)
{
cout<<" "<<prenom<<" "<<nom<<endl;
Note n(m);
notes[nb_notes++]=n;
}
void afficher()
{
cout<<" Eleve: "<<prenom<<" "<<nom<<endl;
cout<<" ----------------------------------"<<endl;
for (int i =0;i<nb_notes;i++)
notes[i].afficher();
cout<<" ------------------- "<<endl;
cout<<" Moyenne: "<<getMoyenne()<<endl;
}

float getMoyenne()
{
float som=0;
float totcoef=0;
for (int i=0;i<nb_notes;i++)
{
som+= (notes[i].getValeur() * ((*(notes[i].getMatiere())).getCoef()));
totcoef+= ((*(notes[i].getMatiere())).getCoef());
}
return (som/totcoef);
}

};

class Classe
{
char* nom;
Eleve* eleves;
Matiere* matieres;
int nb_eleves;
int nb_matieres;

public:
Classe()
{
nom = (char*)malloc(30*sizeof(char));
cout<<"Cr‚ation d'une nouvelle classe"<<endl;
cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;
cout<<" Nom: ";
cin>>nom;
cout<<" Nombre d'‚lŠves: ";
cin>>nb_eleves;
cout<<" Nombre de matiŠres: ";
cin>>nb_matieres;
eleves = (Eleve*)malloc(nb_eleves*sizeof(Eleve));
matieres = (Matiere*)malloc(nb_matieres*sizeof(Matiere));
}
char* getNom()
{
return nom;
}
void setNom(char* n)
{
strcpy(nom,n);
}
void saisieMatieres()
{
for(int i=0;i<nb_matieres;i++)
{
Matiere m;
matieres[i] = m;
}
}
void saisieEleves()
{
for(int i=0;i<nb_eleves;i++)
{
Eleve e;
eleves[i] = e;
}
}
void saisieNotes()
{
cout<<" Saisie des notes"<<endl;
cout<<" ------------------"<<endl;
for (int i=0;i<nb_eleves;i++)
for(int j=0;j<nb_matieres;j++)
eleves[i].ajouterNote(matieres[j]);
}
float getMoyenneClasse()
{
float som = 0;
for (int i=0;i<nb_eleves;i++)
som+=(eleves[i].getMoyenne());
return som/nb_eleves;
}
void afficher()
{
cout<<"AFFICHAGE DES ELEVES DE LA CLASSE "<<nom<<endl;
cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< "<<endl;
for (int i=0;i<nb_eleves;i++)
{
eleves[i].afficher();
}
cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "<<endl;
cout<<" Moyenne classe: "<<getMoyenneClasse()<<endl;
}

};
int main()
{

Classe uneClasse;
uneClasse.saisieMatieres();
uneClasse.saisieEleves();
uneClasse.saisieNotes();
uneClasse.afficher();
getch();

return 0;
}

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « aide pour code C/c++ gestion classe » dans :
Le mot-clé static ou les attributs et méthodes de classe en POO Voir(NOTE: Cet article explique la signification du mot-clé static au sein d'une classe. La signification de "static" en C n'a par exemple rien à voir.) Vous êtes débutant en programmation orientée objet. En Java, en C++...ou que sais-je encore,...
Les onglets du Gestionnaire des tâches ont disparu VoirVotre Gestionnaire des tâches ressemble à ceci ? (Il manque la barre de titre, la barre des menus, la barre d'état et les onglets.) Cette disparition subite des onglets et des menus est sans doute dûe à un double-clic dans la zone des trois...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Les classes en langage C++ VoirLa notion d'objet Le langage C est un langage procédural, c'est-à-dire que c'est un langage permettant de définir des données grâce à des variables, et des traitements grâce aux fonctions. L'apport principal du langage C++ par rapport au...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...