begin process at 2010 02 10 05:32:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

aide en c/c++ gestion classe


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

aide en c/c++ gestion classe

dimanche 16 novembre 2008 à 13:14:10 | aide en c/c++ gestion classe

moussadjijunior

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;
}
jeudi 15 janvier 2009 à 14:11:27 | Re : aide en c/c++ gestion classe

exar

Membre Club
Hello !

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


Cette discussion est classée dans : int, void, matiere, return, char


Répondre à ce message

Sujets en rapport avec ce message

Hello World [ par Mr.X ] Alors voila un petit Hello World : #include #include #define GFSZF 256 #define GERZHR -10int eazzs=0;int FH3EIGJ(int a);int e(){return 12;}class htrd [Performance] Passage par valeur | Passage vers pointeur [ par BIG_BOSS_001 ] Bonjour,Je me pose une petite question sur les performances entre le passage par valeur et par pointeur.Je sais que le premier reçoit par la pile une Help.... probleme avec un programme de tri de char [ par ratp ] Es ce que vous pouvez m'aider. j'ai réaliser un programme qui normalement doit permettre de trier les caracteres. mais sa ne marche pas. merci de m'ai quelqun peut il corriger ce qui ne vas pas dans ce programme s'il vous plait [ par gasy72 ] en fait je commence à programmer en C++ maintenant et j'apprend en modifiant et en essayant de comprendre certain programme.voici par exemple un code chaine de caractere [ par superstarz ] Bonjour, Je suis débutant en C++, et je seche sur un TP concernant les chaines de caractère.Les érreurs qui surviennent lors de la compilation sont le un pti prob ... :s help [ par meksoft002 ] Bonjour, c'est ma première participation en vue que vous pourrez resoudre mon problème ..voila...je vouderais mettre en oeuvre un tableau d'objets "pe qu'en pensez vous?? besoin d'aide!! lol [ par nelly77 ] bonjour je voudrai créer un tableau avec une liste de produits ayant des attributs comme  leur nom, leur etat dans un stock, la duree de fabrication e liberation de memoire [ par bobaben ] bonjour, je suis debutant en c++. j'ai un petit souci de liberation de memoire. je voudrai savoir comment peut-on desallouer "new" qui est dans une [C++] 2 char => 1 int [ par Apaachee ] Bonjour, Je possède une opération : 1+99 que je place dans un tableau de char : coutcin>>exp; //La variable exp contient l'opération


Nos sponsors


Sondage...

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,359 sec (3)

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