Projet c++
M. Luxamar Cleevens
Rosenerlande Joseph
Wathsinger Louis Juste
Romero Yveltdo Saint Fleur
#include <iostream>
#include <vector>
#include "sqlite3.h"
#include "string.h"
#define ERRORINT -1000
#define ERRORDOUBLE -1000.0
using namespace std;
sqlite3* openDb(string dbName)
sqlite3* dataBase = NULL;
int resultat = sqlite3_open(dbName.c_str(),&dataBase);
return dataBase;
int requete(sqlite3* dataBase,string query)
sqlite3_stmt* statement;
int resultat = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);
sqlite3_step(statement);
sqlite3_finalize(statement);
if(resultat == SQLITE_OK)
return 1;
else
{
return ERRORINT;
int getInt(sqlite3* dataBase,string query)
sqlite3_stmt* statement;
int resultat, requete ;
requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);
if(requete == SQLITE_OK && sqlite3_step(statement)== SQLITE_ROW)
resultat = sqlite3_column_int(statement,0);
sqlite3_finalize(statement);
return resultat;
else
return ERRORINT;
int getListeInt(sqlite3* dataBase,string query,int tab[])
sqlite3_stmt* statement;
int i=0, requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);
if(requete == SQLITE_OK)
while(sqlite3_step(statement)== SQLITE_ROW)
{
tab[i++] = sqlite3_column_int(statement,0);
sqlite3_finalize(statement);
return 1;
else
return ERRORINT;
string getListeText(sqlite3* dataBase,string query,string tab[])
sqlite3_stmt* statement;
string resultat ="ok";
int i=0,requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);
if(requete == SQLITE_OK)
while(sqlite3_step(statement)== SQLITE_ROW)
std::string resultat(reinterpret_cast<const char*>(sqlite3_column_text(statement,0)));
tab[i++] = resultat;
return resultat;
}
else
return NULL;
string getText(sqlite3* dataBase,string query,int position)
sqlite3_stmt* statement;
string resultat;
int requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);
if(requete == SQLITE_OK && sqlite3_step(statement)== SQLITE_ROW)
if(sqlite3_step(statement)== SQLITE_ROW)
std::string resultat(reinterpret_cast<const char*>(sqlite3_column_text(statement,position-
1)));
return resultat;
//strcpy(resultat,sqlite3_column_text(statement,0));
//sqlite3_finalize(statement);
//return resultat;
else
return NULL;
}
else
return NULL;
double getDouble(sqlite3* dataBase,string query,int position)
sqlite3_stmt* statement;
int requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);
double resultat=ERRORDOUBLE;
if(requete == SQLITE_OK)
if(sqlite3_step(statement)== SQLITE_ROW)
resultat = sqlite3_column_double(statement,0);
sqlite3_finalize(statement);
return resultat;
else
return ERRORDOUBLE;
else
return ERRORDOUBLE;
}
void config(){
sqlite3* db;
string dbName="db/bongaz.db";
int resultat;
db = openDb(dbName);
if(db==NULL)
cout<<"une erreur s'est produite lors de l'ouverture";
else
cout<<"ouverture effectuee avec succes";
string query="create table flux(id_flux int, date varchar(60), id_pers int,id_station int, type_flux
varchar(50) check(type_flux in ('vente', 'approvisionnement', 'livraison')), type_marchandise
varchar(50) check(type_marchandise in('gazoline','diesel','kerozene','propane')), unite varchar(5)
check(unite in('l','gal','m3','lb')), quantite double, prix_unitaire double,primary key(id_flux),foreign
key (id_pers) references personne(id_pers),foreign key (id_station) references station(id_station));";
requete(db,query);
query= "create table station(id_station int, nom_station varchar(20), adresse varchar(100),primary
key(id_station));";
requete(db,query);
query="create table personne(id_pers int,Nom varchar(10),Prenom varchar(20),NumeroSocial
varchar(15),Sexe varchar(3),Adresse Varchar(15),DateNaissance varchar(15),Fonction Varchar(10)
check(Fonction in('Pompiste','Chauffeur','Manager','Client','Fournisseur')),primary key(id_pers));";
requete(db,query);
query="create table camion(id_cam int, type_marchandise varchar(50) check(type_marchandise
in('gazoline','diesel','kerozene','propane')),capacitemax double,niveauactuel double,primary
key(id_cam));";
requete(db,query);
query="create table citerne (id_cit int,nom_cit varchar(15),id_station int,type_marchandise
varchar(50) check(type_marchandise in('gazoline','diesel','kerozene','propane')), unite varchar(5)
check(unite in('l','gal','m3','lb')), capacitemax double,capacitemin double,niveauactuel
double,primary key(id_station),foreign key (id_station) references station(id_station));";
requete(db,query);
query="create table conduit (id_chauffeur int,id_camID int,id_fluxID int,foreign key (id_chauffeur)
references personne(id_pers),foreign key (id_camID) references camion(id_cam),foreign key
(id_fluxID) references flux(id_flux));";
requete(db,query);
query="create table login(username varchar(20),mots_de_passe varchar(20),id_pers int,foreign
key (id_pers) references personne(id_pers));";
requete(db,query);
query="create table unite_volume(type_marchandise varchar(10) check(type_marchandise
in('gazoline','diesel','kerozene','propane')),unite varchar(5) check(unite in('l','gal','m3','lb')),reference
varchar(20) check(reference in('approvisionnement','vente','stockage')));";
requete(db,query);
query="create table travail(id_station int,id_pers int,foreign key (id_station) references
station(id_station),foreign key (id_pers) references personne(id_pers));";
requete(db,query);
/*-------------------------Insertion a la main----------------------------*/
query="insert into station (id_station, nom_station , adresse) VALUES (111, 'Station A', 'SANTO');";
requete(db,query);
query="insert into station (id_station, nom_station , adresse) VALUES (112, 'Station B',
'DELMAS');";
requete(db,query);
query="insert into station (id_station, nom_station , adresse) VALUES (113, 'Station C', 'PETION-
VILLE');";
requete(db,query);
query="insert into station (id_station, nom_station , adresse) VALUES (114, 'Station D',
'CLERCINE');";
requete(db,query);
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values
(001,'Frantz','Pierre','001-909-90AB','Mas','SANTO','20-04-1999','Pompiste');";
requete(db,query);
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values
(002,'Dabaschy','Nelson','001-999-91CB','Mas','DELMAS','20-04-1997','Chauffeur');";
requete(db,query);
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values
(003,'Vensky','Roubens','001-909-12DB','Mas','PETION-VILLE','20-04-1999','Manager');";
requete(db,query);
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(004,
'Jean', 'Fritz', '002-058-3L', 'Mas', 'SANTO', '23-05-1990', 'pompiste');";
requete(db,query);
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(005,
'Petter', 'Petterlee', '003-578-14M', 'Fem', 'CARADEUX', '15-12-1987', 'Chauffeur');";
requete(db,query);
query="insert into camion(id_cam, type_marchandise, capacitemax, niveauactuel) values (14227,
'gazoline', 150.0, 14.7);";
requete(db,query);
query="insert into camion(id_cam, type_marchandise, capacitemax, niveauactuel) values (18963,
'diesel', 200.0, 26.3);";
requete(db,query);
query="insert into login (username,mots_de_passe,id_pers) values ('Rose','Dabaschy12',243);";
requete(db,query);
int rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n.... ! : " << sqlite3_errmsg(db) <<"\n\n";
else
cout << "Query OK !";
bool authenticateUser(sqlite3* db, const std::string& username, const std::string& mots_de_passe)
const char* query = "SELECT COUNT(*) FROM login WHERE username = ? AND mots_de_passe
= ?";
sqlite3_stmt* stmt;
int rc = sqlite3_prepare_v2(db, query, -1, &stmt, nullptr);
if (rc != SQLITE_OK) {
std::cerr << "Erreur lors de la préparation de la requête : " << sqlite3_errmsg(db) << std::endl;
return false;
sqlite3_bind_text(stmt, 1, username.c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 2, mots_de_passe.c_str(), -1, SQLITE_STATIC);
rc = sqlite3_step(stmt);
bool authenticated = false;
if (rc == SQLITE_ROW) {
int rowCount = sqlite3_column_int(stmt, 0);
if (rowCount > 0) {
authenticated = true;
sqlite3_finalize(stmt);
return authenticated;
int menu(){
int choix;
cout<<"********************** BONGAZ S.A **********************\n";
cout<<"1. vente\n";
cout<<"2. approvisionnement\n";
cout<<"3. livraison\n";
cout<<"4. station\n";
cout<<"5. employe\n";
cout<<"6. client-fournisseur\n";
cout<<"7. statistiques\n";
do{
cout<<"\n\nveuillez entrer le numero correspondant a votre choix: ";
cin>>choix;
}while(choix<1 || choix >7);
return choix;
int crud(string nom){
int choix;
cout<<"\n\n************************************ MENU "<<nom<<"
************************************\n\n";
cout<<"1. ajouter un(e) "<<nom<<"\n";
cout<<"2. afficher un(e) "<<nom<<"\n";
cout<<"3. modifier un(e) "<<nom<<"\n";
cout<<"4. supprimer un(e) "<<nom<<"\n";
do{
cout<<"\nveuillez entrer le numero correspondant a votre choix: ";
cin>>choix;
}while(choix<1 || choix >4);
return choix;
/*--------------fonction ajouter -------------------*/
void ajouter(string type){
int num, rc, maxId;
double doub;
sqlite3* db;
string carc, query,query2, dbName="db/bongaz.db";
db = openDb(dbName);
if(type=="vente"){
int nbreligne;
string listenom[nbreligne],listeprenom[nbreligne];
query="insert into flux(id_flux, date, id_pers, id_station, type_flux, type_marchandise,unite,
quantite , prix_unitaire)values(";
query2="select max(id_flux) from flux";
maxId=getInt(db,query2);
maxId++;
query =query+ to_string(maxId)+",";
cin.ignore();
cout<<"Entre la date : ";
getline(cin,carc);
query += "'"+carc+"',";
cout<<"Liste des Pompistes Disponibles :\n";
while(true){
string query2="select count(id_pers) from personne where Fonction='Pompiste';";
int nbrLigne = getInt(db,query2);
int listId[nbrLigne];
string listNom[nbrLigne], listPrenom[nbrLigne];
query2="select id_pers from personne where Fonction='Pompiste';";
int Id =getListeInt(db,query2,listId);
query2="select Nom from personne where Fonction='Pompiste';";
getListeText(db,query2,listNom);
query2="select Prenom from personne where Fonction='Pompiste';";
getListeText(db,query2,listPrenom);
cout<<"ID NOM PRENOM";
for (int i = 0; i < nbrLigne; ++i) {
cout<<"\n"<<listId[i] <<" "<<listNom[i] <<" "<<listPrenom[i];
break;
string query2="select min(id_pers) from personne;";
int minId=getInt(db,query2);
query2="select max(id_pers) from personne;";
int maxId=getInt(db,query2);
do
cout<<"\n\nEntrez L'identifiant de la personne correspondante : ";
cin>>num;
while(num<minId || num>maxId);
query = query + to_string(num) +",";
cout<<"L'identifiant de la Station : ";
cin>>num;
query = query + to_string(num)+","+ "'"+"vente"+"',";
cin.ignore();
cout<<"Le Type de Marchandise : ";
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"L'unite de volume : ";
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"La quantite : ";
cin>>doub;
query = query + to_string(doub)+",";
cout<<"Le prix unitaire : ";
cin>>num;
query = query + to_string(num)+");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cerr << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
else if(type=="approvisionnement"){
// query="insert into flux(id_flux, date, id_pers, id_station, type_flux, type_marchandise,unite,
quantite , prix_unitaire)values(";
query="insert into flux(id_flux, date, id_pers, id_station, type_flux, type_marchandise,unite,
quantite , prix_unitaire)values(";
query2="select max(id_flux) from flux";
maxId=getInt(db,query2);
maxId++;
query =query+ to_string(maxId)+",";
cout<<"Entre la date : ";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
/* cout<<"Liste des Fournisseurs Disponibles :\n";
while(true){
string query2="select count(id_pers) from personne where Fonction='Fournisseur';";
int nbrLigne = getInt(db,query2);
int listId[nbrLigne];
string listNom[nbrLigne], listPrenom[nbrLigne];
query2="select id_pers from personne where Fonction='Fournisseur';";
int Id =getListeInt(db,query2,listId);
query2="select Nom from personne where Fonction='Fournisseur';";
getListeText(db,query2,listNom);
query2="select Prenom from personne where Fonction='Fournisseur';";
getListeText(db,query2,listPrenom);
cout<<"ID NOM PRENOM";
for (int i = 0; i < nbrLigne; ++i) {
cout<<"\n"<<listId[i] <<" "<<listNom[i] <<" "<<listPrenom[i];
break;
}*/
cout<<"Entre le numero d'un founisseur founisseur : ";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"L'identifiant de la Station : ";
cin>>num;
query = query + to_string(num)+","+ "'"+"approvisionnement"+"',";
cin.ignore();
cout<<"Le Type de Marchandise : ";
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"L'unite de volume : ";
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"La quantite : ";
cin>>doub;
query = query + to_string(doub)+",";
cout<<"Le prix unitaire : ";
cin>>num;
query = query + to_string(num)+");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
else if(type=="livraison"){
cout<<"\nAjouter les information de la livraison\n\n";
query="insert into flux(id_flux, date, id_pers, id_station, type_flux, type_marchandise,unite,
quantite , prix_unitaire)values(";
cout<<"Entre l'identifiant : ";
cin>>num;
query =query+ to_string(num)+",";
cout<<"Entre la date : ";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"L'identifiant de la Personne : ";
cin.ignore();
cin>>num;
query = query + to_string(num) +",";
cout<<"L'identifiant de la Station : ";
cin>>num;
query = query + to_string(num)+","+ "'"+"Livraison"+"',";
cin.ignore();
cout<<"Le Type de Marchandise : ";
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"L'unite de volume : ";
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"La quantite : ";
cin>>doub;
query = query + to_string(doub)+",";
cout<<"Le prix unitaire : ";
cin>>num;
query = query + to_string(num)+");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
cout<<"\nAjouter les informations du client\n\n";
query="insert into
personne(id_pers ,Nom ,Prenom ,ref_station ,NumeroSocial ,Sexe ,Adresse ,DateNaissance ,Fonction
)values(";
cout<<"Entrer ID : ";
cin>>num;
query =query+ to_string(num)+",";
cout<<"Entre la date : ";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"L'identifiant de la Personne : ";
cin.ignore();
cin>>num;
query = query + to_string(num) +",";
cout<<"L'identifiant de la Station : ";
cin>>num;
query = query + to_string(num)+","+ "'"+"Livraison"+"',";
cin.ignore();
cout<<"Le Type de Marchandise : ";
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"La quantite : ";
cin>>doub;
query = query + to_string(doub)+",";
cout<<"Le prix unitaire : ";
cin>>num;
query = query + to_string(num)+");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
else if(type=="station")
cout<<"\nAjouter une nouvelle station";
query="insert into station(id_station,nom_station,adresse) Values(";
cout<<" Entrer L'id Station: ";
cin>>num;
query =query+ to_string(num)+",";
cout<<"Entre le nom de la station : ";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre l'adresse de la station : ";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"');";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
else if (type=="employe")
string Typedaj="employe";
cout<<"\nAjouter un nouveau"<<Typedaj<<" ";
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(";
query2="select max(id_pers) from personne";
maxId=getInt(db,query2);
maxId++;
query =query+ to_string(maxId)+",";
cout<<"Entre le nom du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre le prenom du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre le numero identifiant du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre le sexe du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre l'adresse du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre la date naissance du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
query=query+"'Pompiste'"");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
else if (type=="client-fournisseur")
int C;
string Typedaj;
cout<<"1.Client\n2.Fournisseur";
do
cout<<"\nVeuillez faire votre choix : ";
cin>>C;
cin.ignore();
while(C<1 || C>2);
{
if(C==2)
Typedaj="Fournisseur";
cout<<"\nAjouter un nouveau Fournisseur";
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(";
query2="select max(id_pers) from personne";
maxId=getInt(db,query2);
maxId++;
query =query+ to_string(maxId)+",";
cout<<"Entre le nom du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre le prenom du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre le numero identifiant du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre le sexe du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre l'adresse du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre la date naissance du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
query=query+"'fournisseur'"");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
else if (C==1)
Typedaj="Client";
cout<<"Ajouter un nouveau Client";
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(";
query2="select max(id_pers) from personne";
maxId=getInt(db,query2);
maxId++;
query =query+ to_string(maxId)+",";
cout<<"Entre le nom du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre le prenom du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre le numero identifiant du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre le sexe du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre l'adresse du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cout<<"Entre la date naissance du "<<Typedaj<<" :";
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
query=query+"'fournisseur'"");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
}
}
void afficher(){
sqlite3* db;
string dbName="db/bongaz.db";
db = openDb(dbName);
cout<<"\nAfficher les statistiques des ventes\n\n";
string query="select id_flux,date from flux where type_flux='vente';";
int id_flux = getInt(db, query);
string date = getText(db, query,2);
//int id = getInt(db, query, 1);
cout<<id_flux<<" "<<date;
void modifier(){
cout<<"modifier";
cout<<"\nmodifier une ligne";
sqlite3* db;
int rc;
string carc, query, dbName="db/bongaz.db";
db = openDb(dbName);
query="update flux set type_flux='approvisionnement' where id_flux=909;";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
void supprimer(){
cout<<"supprimer une ligne";
cout<<"\nsupprimer une ligne";
sqlite3* db;
int rc;
string carc, query, dbName="db/bongaz.db";
db = openDb(dbName);
query="delete from flux where id_flux=889;";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
cout << "\n\nError ! : " << sqlite3_errmsg(db);
else
cout << "Query OK !";
void statistique(){
cout<<"statistique";
int main(){
sqlite3* db;
int rc = sqlite3_open("db/bongaz.db", &db);
config();
if (rc) {
std::cerr << "Erreur lors de l'ouverture de la base de donnees : " << sqlite3_errmsg(db) <<
std::endl;
return 1;
string username, mots_de_passe;
cout << "Nom d'utilisateur : ";
cin >> username;
cout << "Mot de passe : ";
cin >> mots_de_passe;
if (authenticateUser(db, username, mots_de_passe))
std::cout << "Authentification reussie !" << std::endl;
// Vous pouvez maintenant autoriser l'accès à l'application
int choix = menu(), choix2;
if (choix==1){
// crud("vente");
choix2=crud("vente");
if (choix2==1)
ajouter("vente");
else if (choix2==2)
afficher();
else if (choix2==3)
modifier();
else
supprimer();
else if (choix==2){
choix2=crud("approvisionnement");
if (choix2==1)
ajouter("approvisionnement");
else if (choix2==2)
afficher();
else if (choix2==3)
modifier();
else
supprimer();
else if (choix==3){
choix2=crud("livraison");
if (choix2==1)
ajouter("livraison");
else if (choix2==2)
afficher();
else if (choix2==3)
modifier();
else
supprimer();
else if (choix==4){
choix2=crud("station");
if (choix2==1)
ajouter("station");
else if (choix2==2)
afficher();
else if (choix2==3)
modifier();
else
supprimer();
else if (choix==5){
choix2=crud("employe");
if (choix2==1)
ajouter("employe");
else if (choix2==2)
afficher();
else if (choix2==3)
modifier();
else
supprimer();
else if (choix==6){
choix2=crud("client-fournisseur");
if (choix2==1)
ajouter("client-founisseur");
else if (choix2==2)
afficher();
else if (choix2==3)
modifier();
else
supprimer();
else
statistique();
else
std::cout << "Échec de l'authentification." << std::endl;
return 0;