Académique Documents
Professionnel Documents
Culture Documents
#include <pqxx/pqxx>
void create();
void save();
void read_all();
void search(string);
void update(string);
void delete_student(string);
void read_allstudent();
void studentbynameasc();
void studentbynamedesc();
void studentbymoydesc();
void studentbymoyasc();
void avgdep();
void maxdep();
void mindep();
void runApp();
void pause();
int choix;
string matricule, nom, prenom, departement, mention, sql;
float som, moyenne, note[6];
int main()
{
runApp();
return 0;
}
void pause(){
string systempause;
cout << "Appuyez sur une touche pour continuer...";
cin >> systempause;
}
void create(){
try{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "Connexion établie\n";
else
cout << "Connexion non établie\n";
void save(){
cout << "Veuillez saisir les informations de l'étudiant" << endl;
cout << "Matricule >>> "; cin >> matricule;
cout << "Nom >>> "; cin >> nom;
cout << "Prenom >>> "; cin >> prenom;
cout << "Département >>> "; cin >> departement;
cout << "6 Notes " << endl;
som = 0;
for(int i = 0; i < 6; i++){
cout << "Note " << i+1 << " >>> ";
cin >> note[i];
som += note[i];
} moyenne = som / 6;
cout << "Mention >>> "; cin >> mention;
try
{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";
/* Create sql statement */
C.prepare("insert", "INSERT INTO student VALUES ($1, $2, $3, $4, $5,
$6)");
void read_allstudent(){
try
{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";
/* Create sql statement */
sql = "SELECT * FROM student";
/* Creation d'un objet non transactionnel */
nontransaction N(C);
// Execute sql query
result R( N.exec(sql));
// list down all the records
cout << "------------------Liste de tous les étudiants ----------------\n"
<< endl;
cout <<
"+-------------------------------------------------------------------------+" <<
endl;
cout << "+ Matricule | Nom | Prénom | Département | Moyenne |
Mention |" << endl;
cout <<
"+-------------------------------------------------------------------------+" <<
endl;
for (result::const_iterator c=R.begin(); c!=R.end(); ++c)
{
cout << "| " << setw(14) << c[0].as<string>() << " | " << setw(9) <<
c[1].as<string>() << " | " << setw(14) << c[2].as<string>() << " | " << setw(14) <<
c[3].as<string>() << " | " << setw(9) << c[4].as<float>() << " | " << setw(9) <<
c[5].as<string>() << " | " << endl;
cout <<
"+-------------------------------------------------------------------------+" <<
endl;
}
cout << "§§§ Opération effectuée aves succès... §§§" << endl;
C.disconnect();
}
catch(const std::exception &e)
{
std::cerr << e.what() << '\n';
}
}
// Liste des étudiants par ordre croissant du nom
void studentbynameasc(){
try
{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";
/* Create sql statement */
void studentbymoydesc(){
try
{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";
/* Create sql statement */
void studentbymoyasc(){
try
{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";
void avgdep(){
try
{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";
/* Create sql statement */
void maxdep(){
try{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";
/* Create sql statement */
void mindep(){
try
{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";
/* Create sql statement */
void read_all(){
int choix;
do{
system("clear");
cout <<
"+------------------------------------------------------------------+" << endl;
cout << "| 1. LISTE DE TOUS LES ÉTUDIANTS
|" << endl;
cout <<
"+------------------------------------------------------------------|" << endl;
cout << "| 2. ÉTUDIANTS PAR ORDRE CROISSANT DU NOM (de A à Z)
|" << endl;
cout <<
"+------------------------------------------------------------------|" << endl;
cout << "| 3. ÉTUDIANTS PAR ORDRE DÉCROISSANT DU NOM (de Z à A)
|" << endl;
cout <<
"+------------------------------------------------------------------|" << endl;
cout << "| 4. ÉTUDIANTS PAR ORDRE DÉCROISSANT DE LA MOYENNE
|" << endl;
cout <<
"+------------------------------------------------------------------|" << endl;
cout << "| 5. ÉTUDIANTS PAR ORDRE CROISSANT DE LA MOYENNE
|" << endl;
cout <<
"+------------------------------------------------------------------|" << endl;
cout << "| 6. MOYENNE PAR DEPARTEMENT
|" << endl;
cout <<
"+------------------------------------------------------------------|" << endl;
cout << "| 7. LA PLUS HAUTE MOYENNE PAR DEPARTEMENT
|" << endl;
cout <<
"+------------------------------------------------------------------|" << endl;
cout << "| 8. LA PLUS FAIBLE MOYENNE PAR DEPARTEMENT
|" << endl;
cout <<
"+------------------------------------------------------------------|" << endl;
cout << "| 9. QUITTER
|" << endl;
cout <<
"+------------------------------------------------------------------|" << endl;
cout << "Votre choix >> ";
cin >> choix;
switch(choix){
case 1 :
read_allstudent();
pause();
break;
case 2 :
studentbynameasc();
pause();
break;
case 3 :
studentbynamedesc();
pause();
break;
case 4 :
studentbymoydesc();
pause();
break;
case 5 :
studentbymoyasc();
pause();
break;
case 6 :
avgdep();
pause();
break;
case 7 :
maxdep();
pause();
break;
case 8 :
mindep();
pause();
break;
case 9 :
cout << "§§§ Vous avez quittez le menu d'affichage §§§" <<
endl;
pause();
break;
default :
cout << "§§§ Choix Incorrect! §§§" << endl;
pause();
}
}while (choix != 9);
try
{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";
cout << "§§§ Opération effectuée aves succès... §§§" << endl;
C.disconnect();
}
catch(const std::exception &e)
{
std::cerr << e.what() << '\n';
}
}
work W(C);
/* create delete statement
sql = "DELETE from student where id = 1"; */
W.exec_prepared("delete", matricule);
W.commit();
cout << "§§§ Suppression éffectuée avec succès §§§\n";
C.disconnect();
}
catch(const std::exception &e)
{
std::cerr << e.what() << '\n';
}
}
void runApp(){
int choix;
do{
system("clear");
cout << "+------------------------------+" << endl;
cout << "| 1. CREATION DE LA TABLE |" << endl;
cout << "+------------------------------|" << endl;
cout << "| 2. AJOUTER UN ÉTUDIANTS |" << endl;
cout << "+------------------------------|" << endl;
cout << "| 3. AFFICHER |" << endl;
cout << "+------------------------------|" << endl;
cout << "| 4. RECHERCHER UN ÉTUDIANT |" << endl;
cout << "+------------------------------|" << endl;
cout << "| 5. MODIFICATION D'ÉTUDIANTS |" << endl;
cout << "+------------------------------|" << endl;
cout << "| 6. SUPPRESSION D'ÉTUDIANTS |" << endl;
cout << "+------------------------------|" << endl;
cout << "| 7. QUITTER |" << endl;
cout << "+------------------------------+" << endl;
cout << "Votre choix >> ";
cin >> choix;
switch(choix){
case 1:
cout << "CREATION DE LA TABLE" << endl;
create();
pause();
break;
case 2:
cout << "ENREGISTREMENT D'ÉTUDIANTS" << endl;
save();
pause();
break;
case 3:
read_all();
break;
case 4:
cout << "RECHERCHE D'ÉTUDIANTS" << endl;
cout << "Veuillez saisir son matricule >> ";
cin >> matricule;
search(matricule);
pause();
break;
case 5:
cout << "MODIFICATION D'ÉTUDIANTS" << endl;
cout << "Veuillez saisir son matricule >> ";
cin >> matricule;
update(matricule);
pause();
break;
case 6:
int choix1;
cout << "SUPPRESSION D'ÉTUDIANTS " << endl;
cout << "-- 1. SUPPRIMER UN SEUL " << endl;
cout << "-- 2.TOUT LE MONDE " << endl;
cout << "-- Votre choix => ";
cin >> choix1;
if (choix1 == 1){
cout << "Veuillez saisir son matricule >> ";
cin >> matricule;
delete_student(matricule);
} else{
try
{
connection C("dbname=etudiant user=postgres password=root\
hostaddr=127.0.0.1 port=5432");
if (C.is_open())
cout << "§§§ Connexion établie §§§\n";
else
cout << "§§§ Connexion non établie §§§\n";