0% ont trouvé ce document utile (0 vote)
5 vues7 pages

Gestion des étudiants en C++

Le document décrit une classe Etudiant qui permet de gérer des étudiants dans un fichier texte. La classe contient des méthodes pour ajouter, afficher, rechercher, modifier et supprimer des étudiants.

Transféré par

Ibrahima sory Bah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues7 pages

Gestion des étudiants en C++

Le document décrit une classe Etudiant qui permet de gérer des étudiants dans un fichier texte. La classe contient des méthodes pour ajouter, afficher, rechercher, modifier et supprimer des étudiants.

Transféré par

Ibrahima sory Bah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

flux << matricule << ";" << nom << ";" << prenom << ";" << departement

<< ";" <<


moyenne << ";" << mention << endl;
cout << "Enregistrement réussie !!!" << endl;
}
else
cout << "Ce fichier n'a pas pû être ouvert" << endl;

void Etudiant::display()
{
cout << "==========================================" << endl;
cout << "Matricule ---> " << matricule << endl;
cout << "Nom ---> " << nom << endl;
cout << "Prénom ---> " << prenom << endl;
cout << "Département ---> " << departement << endl;
cout << "Moyenne ---> " << moyenne << endl;
cout << "Mention ---> " << mention << endl;
cout << "=========================================" << endl;
}

void Etudiant::getAll()
{
Etudiant e;
bool trouve = false;
string line;
ifstream flux (Etudiant::file, ios::in);
if(flux)
{
cout <<
"+---------------------------------------------------------------------------------
--+" << endl;
cout << "+ Matricule | Nom | Prénom | Département |
Moyenne | Mention |" << endl;
cout <<
"+---------------------------------------------------------------------------------
--+" << endl;
while(getline(flux,line))
{
[Link](line);
[Link]();
trouve = true;
}
[Link]();
if(!trouve)
cout << "Liste Vide" << endl;
}
else
cout << "Ce fichier n'a pas pû être ouvert" << endl;
}

void Etudiant::search()
{
Etudiant e;
bool trouve = false;
string line;
ifstream flux (Etudiant::file, ios::in);
if(flux)
{
while (getline(flux,line))
{
if(matricule == [Link](0,7))
{
trouve = true;
break;
}
}
[Link]();
if(trouve)
{
[Link](line);
[Link]();
}
else
{
cout << "Cet étudiant n'existe pas" << endl;
}

}
else
cout << "Ce fichier n'a pas pû être ouvert" << endl;
}

void Etudiant::update()
{
bool trouve = false;
string line, data = "", nom, prenom, departement, mentions;
float moy, note[6], som = 0;
ifstream flux (Etudiant::file, ios::in);
if(flux)
{
while(getline(flux,line))
{
if(matricule != [Link](0,7))
{
data += line + "\n";
}
else
{
cout << "Veuillez saisir les nouvelles informations" << endl;
cout << "Nom ---> "; [Link](255,'\n');
getline(cin,nom);
cout << "Prénom ---> "; getline(cin,prenom);
cout << "Département ---> "; getline(cin,departement);
cout << "Les 6 notes " << endl;
for(int i = 0; i < 6; i++)
{
cout << "Note " << i+1 << " : ";
while(!(cin >> note[i])){
cout << "Erreur de saisie, reprendre la note " << i+1 << " --->
";
[Link]();
[Link](255,'\n');
}
som += note[i];
}
moy = Etudiant::Moyenne(som);
mentions = Etudiant::Mention(moy);
data += [Link](0,7) + ";";
data += nom + ";";
data += prenom + ";";
data += departement + ";";
data += to_string(moy) + ";";
data += mentions + "\n";
trouve = true;
}
}
[Link]();
ofstream fluxSortie;
if(trouve)
{
[Link](Etudiant::file, ios::out | ios::trunc);
fluxSortie << data;
[Link]();
cout << "Modification reussi" << endl;
}
else
{
cout << "Cet étudiant n'existe pas" << endl;
}
}
else
cout << "Ce fichier n'a pas pû être ouvert" << endl;
}

void Etudiant::drop()
{
bool trouve = false;
string line, data = "";
ifstream flux (Etudiant::file, ios::in);
if(flux)
{
while (getline(flux,line))
{
if(matricule != [Link](0,7))
{
data += line + "\n";
}
else
{
trouve = true;
}
}
[Link]();
ofstream fluxSortie;
if(trouve)
{
[Link](Etudiant::file, ios::out | ios::trunc);
fluxSortie << data;
[Link]();
cout << "Suppression réussie" << endl;
}
else
{
cout << "Cet étudiant n'existe pas" << endl;
}
}
else
{
cout << "Ce fichier n'a pas pû être ouvert" << endl;
}
}

void Etudiant::split(string line)


{
int pos = 7, nextPos;
matricule = [Link](0,pos);
nextPos = [Link](";",pos+1);
nom = [Link](pos+1,nextPos-pos-1);
pos = nextPos;
nextPos = [Link](";",pos+1);
prenom = [Link](pos+1,nextPos-pos-1);
pos = nextPos;
nextPos = [Link](";",pos+1);
departement = [Link](pos+1,nextPos-pos-1);
pos = nextPos;
nextPos = [Link](";",pos+1);
moyenne = stof([Link](pos+1,nextPos-pos-1));
pos = nextPos;
nextPos = [Link](";",pos+1);
mention = [Link](pos+1,nextPos-pos-1);
}

void Etudiant::line()
{

cout << "| " << setw(11) << matricule << " | " << setw(7) << nom << " | " <<
setw(19) << prenom << " | " << setw(12) << departement << " | " << setw(6) <<
moyenne << " | " << setw(9) << mention << " | " << endl;
cout <<
"+---------------------------------------------------------------------------------
--+" << endl;

float Etudiant::Moyenne(float som)


{
return som / 6;
}

string Etudiant::Mention(float moy)


{
if (moy >= 9)
return "EXCELLENT";
else if (moy >= 8)
return "TBIEN";
else if (moy >= 7)
return "BIEN";
else if (moy >= 6)
return "ABIEN";
else if (moy >= 5)
return "PASSABLE";
else if (moy >= 4)
return "INSUFFISANT";
else
return "ECHEC";
}
int Etudiant::getMatricule()
{
ifstream flux (Etudiant::file, ios::in);
string line, lineCopy = "ET23000";
while(getline(flux,line)) lineCopy = line;
int matriculeline = stoi([Link](4,3));

return matriculeline;

}
class App{
private:
static void save();
static void readAll();
static void search();
static void update();
static void drop();
static void pause();
public:
static void run();
};

void App::run()
{
int choix;
do
{
system("clear");
cout << "+---------------------------------|" << endl;
cout << "| 1. AJOUTER UN ÉTUDIANTS |" << endl;
cout << "+---------------------------------|" << endl;
cout << "| 2. LISTE DE TOUS LES ETUDIANTS |" << endl;
cout << "+---------------------------------|" << endl;
cout << "| 3. RECHERCHER UN ÉTUDIANT |" << endl;
cout << "+---------------------------------|" << endl;
cout << "| 4. MODIFICATION D'ÉTUDIANTS |" << endl;
cout << "+---------------------------------|" << endl;
cout << "| 5. SUPPRESSION D'ÉTUDIANTS |" << endl;
cout << "+---------------------------------|" << endl;
cout << "| 6. QUITTER |" << endl;
cout << "+---------------------------------+" << endl;
cout << "Votre choix >> ";
while(!(cin >> choix))
{
cout << "Erreur de saisie reprendre ---> ";
[Link]();
[Link](255,'\n');
}
switch (choix)
{
case 1 : App::save(); App::pause(); break;
case 2 : App::readAll(); App::pause(); break;
case 3 : App::search(); App::pause(); break;
case 4 : App::update(); App::pause(); break;
case 5 : App::drop(); App::pause(); break;
case 6 : cout << "Vous venez de quittez l'application" << endl;
break;
default:
cout << "Choix Incorrect " << endl; App::pause();
break;
}
} while (choix != 6);

void App::save()
{
system("clear");
string nom, prenom, departement, mentions;
float note[6], som = 0, moy;
cout << "==== ENREGISTREMENT D'UN ÉTUDIANT ====" << endl;
cout << "Nom ---> ";
[Link](255,'\n'); getline(cin, nom);
cout << "Prénom ---> "; getline(cin,prenom);
cout << "Département ---> "; getline(cin,departement);
cout << "Sasir les 6 notes " << endl;
for(int i = 0; i < 6; i++)
{
cout << "Note " << i+1 << " : ";
while(!(cin >> note[i])){
cout << "Erreur de saisie, reprendre la note " << i+1 << " ---> ";
[Link]();
[Link](255,'\n');
}
som += note[i];
}
moy = Etudiant::Moyenne(som);
mentions = Etudiant::Mention(moy);
Etudiant(nom,prenom,departement,moy,mentions).save();
}

void App::readAll()
{
system("clear");
cout << "==== LISTES DES ÉTUDIANTS ====" << endl;
Etudiant::getAll();
}

void App::search()
{
system("clear");
string matricule;
cout << "=== RECHERCHE D'UN ÉTUDIANT ===" << endl;
cout << "Veuillez saisir son matricule >> "; cin >> matricule;
Etudiant(matricule).search();
}

void App::update()
{
system("clear");
string matricule;
cout << "=== MODIFICATION D'UN ÉTUDIANT ===" << endl;
cout << "Veuillez saisir son matricule >> "; cin >> matricule;
Etudiant(matricule).update();
}
void App::drop()
{
system("clear");
string matricule;
cout << "=== SUPPRESSION D'UN ÉTUDIANT ===" << endl;
cout << "Veuillez saisir son matricule >> "; cin >> matricule;
Etudiant(matricule).drop();
}

void App::pause()
{
char systempause;
[Link](255,'\n');
cout << "Appuyez sur une touche pour continuer...";
[Link](systempause);
}

int main(){
system("clear");
App::run();
return 0;
}

Vous aimerez peut-être aussi