Professional Documents
Culture Documents
M. Luxamar Cleevens
Rosenerlande Joseph
Wathsinger Louis Juste
Romero Yveltdo Saint Fleur
#include <iostream>
#include <vector>
#include "sqlite3.h"
#include "string.h"
return dataBase;
sqlite3_stmt* statement;
sqlite3_step(statement);
sqlite3_finalize(statement);
if(resultat == SQLITE_OK)
return 1;
else
{
return ERRORINT;
sqlite3_stmt* statement;
requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);
resultat = sqlite3_column_int(statement,0);
sqlite3_finalize(statement);
return resultat;
else
return ERRORINT;
sqlite3_stmt* statement;
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;
sqlite3_stmt* statement;
if(requete == SQLITE_OK)
while(sqlite3_step(statement)== SQLITE_ROW)
tab[i++] = resultat;
return resultat;
}
else
return NULL;
sqlite3_stmt* statement;
string resultat;
if(sqlite3_step(statement)== SQLITE_ROW)
return resultat;
//strcpy(resultat,sqlite3_column_text(statement,0));
//sqlite3_finalize(statement);
//return resultat;
else
return NULL;
}
else
return NULL;
sqlite3_stmt* statement;
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)
else
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);
requete(db,query);
requete(db,query);
requete(db,query);
requete(db,query);
requete(db,query);
requete(db,query);
requete(db,query);
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);
requete(db,query);
requete(db,query);
requete(db,query);
int rc=requete(db,query);
if (rc != SQLITE_OK)
else
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;
rc = sqlite3_step(stmt);
if (rc == SQLITE_ROW) {
if (rowCount > 0) {
authenticated = true;
sqlite3_finalize(stmt);
return authenticated;
int menu(){
int choix;
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{
cin>>choix;
return choix;
int choix;
do{
cin>>choix;
return choix;
double doub;
sqlite3* db;
db = openDb(dbName);
if(type=="vente"){
int nbreligne;
string listenom[nbreligne],listeprenom[nbreligne];
maxId=getInt(db,query2);
maxId++;
cin.ignore();
getline(cin,carc);
query += "'"+carc+"',";
while(true){
int listId[nbrLigne];
getListeText(db,query2,listNom);
getListeText(db,query2,listPrenom);
break;
int minId=getInt(db,query2);
int maxId=getInt(db,query2);
do
cin>>num;
while(num<minId || num>maxId);
cin>>num;
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
getline(cin,carc);
cin>>doub;
cin>>num;
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
else
else if(type=="approvisionnement"){
maxId=getInt(db,query2);
maxId++;
getline(cin,carc);
while(true){
int listId[nbrLigne];
int Id =getListeInt(db,query2,listId);
getListeText(db,query2,listNom);
getListeText(db,query2,listPrenom);
break;
}*/
cin.ignore();
getline(cin,carc);
cin>>num;
cin.ignore();
cout<<"Le Type de Marchandise : ";
getline(cin,carc);
getline(cin,carc);
cin>>doub;
cin>>num;
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
else
else if(type=="livraison"){
cin>>num;
cin.ignore();
getline(cin,carc);
cin.ignore();
cin>>num;
cin>>num;
cin.ignore();
getline(cin,carc);
getline(cin,carc);
cin>>doub;
cin>>num;
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
else
query="insert into
personne(id_pers ,Nom ,Prenom ,ref_station ,NumeroSocial ,Sexe ,Adresse ,DateNaissance ,Fonction
)values(";
cout<<"Entrer ID : ";
cin>>num;
cin.ignore();
getline(cin,carc);
cin.ignore();
cin>>num;
cin>>num;
cin.ignore();
getline(cin,carc);
cin>>doub;
cin>>num;
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
else
else if(type=="station")
cin>>num;
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
rc=requete(db,query);
if (rc != SQLITE_OK)
else
else if (type=="employe")
string Typedaj="employe";
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(";
maxId=getInt(db,query2);
maxId++;
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
getline(cin,carc);
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
query=query+"'Pompiste'"");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
else
else if (type=="client-fournisseur")
int C;
string Typedaj;
cout<<"1.Client\n2.Fournisseur";
do
cin>>C;
cin.ignore();
while(C<1 || C>2);
{
if(C==2)
Typedaj="Fournisseur";
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(";
maxId=getInt(db,query2);
maxId++;
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
query=query+"'fournisseur'"");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
else
else if (C==1)
Typedaj="Client";
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(";
maxId=getInt(db,query2);
maxId++;
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
query = query + "'"+carc+"',";
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
cin.ignore();
getline(cin,carc);
query=query+"'fournisseur'"");";
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
else
}
}
void afficher(){
sqlite3* db;
string dbName="db/bongaz.db";
db = openDb(dbName);
cout<<id_flux<<" "<<date;
void modifier(){
cout<<"modifier";
sqlite3* db;
int rc;
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
else
void supprimer(){
sqlite3* db;
int rc;
db = openDb(dbName);
cout<<"\n\n"<<query;
rc=requete(db,query);
if (rc != SQLITE_OK)
else
void statistique(){
cout<<"statistique";
int main(){
sqlite3* db;
config();
if (rc) {
std::cerr << "Erreur lors de l'ouverture de la base de donnees : " << sqlite3_errmsg(db) <<
std::endl;
return 1;
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
return 0;