Académique Documents
Professionnel Documents
Culture Documents
#include <string>
class Etudiant {
private:
static int count; // To auto-increment the matricule
int matricule;
std::string nom;
int nbNotes;
float *TabNotes;
public:
// Constructors
Etudiant() {
matricule = ++count;
nbNotes = 0;
TabNotes = nullptr;
}
// Destructor
~Etudiant() {
delete[] TabNotes;
}
// Copy Constructor
Etudiant(const Etudiant &other) {
matricule = other.matricule;
nom = other.nom;
nbNotes = other.nbNotes;
TabNotes = new float[nbNotes];
for (int i = 0; i < nbNotes; i++) {
TabNotes[i] = other.TabNotes[i];
}
}
float moyenne() {
float total = 0;
for (int i = 0; i < nbNotes; i++) {
total += TabNotes[i];
}
return total / nbNotes;
}
bool admis() {
return (moyenne() >= 10);
}
int main() {
Etudiant E;
std::cout << "Creation d'un objet Etudiant E avec 3 notes" << std::endl;
std::cout << "Saisie des notes : " << std::endl;
E.saisie();
std::cout << "Affichage de l'etudiant E:" << std::endl;
E.affichage();
Etudiant E1 = E;
std::cout << "Copie de l'etudiant E dans E1" << std::endl;
std::cout << "L'affichage de l'etudiant E1:" << std::endl;
E1.affichage();
if (E.admis()) {
std::cout << "l'etudiant E est admis" << std::endl;
} else {
std::cout << "l'etudiant E n'est pas admis" << std::endl;
}
if (E.comparer(E2)) {
std::cout << "Les Etudiants E et E2 ont la meme moyenne" << std::endl;
} else {
std::cout << "Les Etudiants E et E2 n'ont pas la meme moyenne" <<
std::endl;
}
return 0;
}