Aide en c/c++ gestion classe

moussadjijunior Messages postés 107 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 3 février 2020 - 16 nov. 2008 à 13:14
cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 - 15 janv. 2009 à 14:11
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
#include <conio.h>
#include <string.h>
#include

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<<" "<>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;
}

1 réponse

cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 1
15 janv. 2009 à 14:11
Hello !

Utilise la STL, ses conteneurs et ses algorithmes.  Ça devrait beaucoup t'aider !
0
Rejoignez-nous