Vous êtes sur la page 1sur 7

int main()

{
system("clear");
runApp();
return 0;
}
///DEFINITION DES FONCTIONS
void Ajouter(patients*tab,int&nb,patients&pati)
{
if(nb==T)
{
cout<<"## Espace de stockage plein ##"<<endl;
}
else {
tab[nb++]=pati;
cout<<"## Enregistrement reussi ##"<<endl;
}
}
void Afficher(patients*tab,int nb)
{
if(nb==0)
{
cout<<"## Liste vide ##"<<endl;
}
else{

cout<<"+---------------------------------------------------------------------------
-----------------------------------------------------------------------------------
------------------------+"<<endl;
cout<<"| ID | NOM | PRENOM | GENRE | AGE
| POIDS |GSANGUIN| N�Tel | ADRESSE | SYMPTOME |
MEDECIN | DEPARTEMENT |"<<endl;

cout<<"+-------------|-----------|--------------------|---------|-----------|------
-------|--------|------------------|--------------------|------------|-------------
-------|----------------+"<<endl;
for(int i=0;i<nb;i++)
{

cout<<"|"<< setw(13)<<tab[i].id<<"|"<<setw(11)<< tab[i].nom <<


"|"<<setw(20) << tab[i].prenom << "|"<<setw(9) << tab[i].genre<< "|"<<setw(7) <<
tab[i].age<<" ans"<< "|"<<setw(10) << tab[i].poids<<" kg"<< "|"<<setw(8) <<
tab[i].groupe_sanguin<< "|"<<setw(18) << tab[i].numero_tel << "|"<<setw(20)
<< tab[i].adresse << "|"<<setw(12) <<tab[i].symptome<<"|"<<setw(20)<<
tab[i].medecin << "|"<<setw(16) <<tab[i].departement << "|"<<endl;

cout<<"+---------------------------------------------------------------------------
-----------------------------------------------------------------------------------
------------------------+"<<endl;
}
}
}
int Rechercher(patients* tab,int nb,string id)
{ int i(0);
while (i < nb && tab[i].id != id) i++;
if(i == nb)
return -1;
return i;
}

void Modifier(patients* tab,int nb,string id)


{
int position = Rechercher(tab, nb, id);
if (position != -1){
cout << "========== INFOS EXISTANTES =========" << endl;
cout<<"Id: "<<tab[position].id<<endl;
cout<<"Nom: "<<tab[position].nom<<endl;
cout<<"Prenom: "<<tab[position].prenom<<endl;
cout<<"Genre: "<<tab[position].genre<<endl;
cout<<"Age: "<<tab[position].age<<endl;
cout<<"Poids: "<<tab[position].poids<<endl;
cout<<"Groupe Sanguin: "<<tab[position].groupe_sanguin<<endl;
cout<<"Numero Telephone: "<<tab[position].numero_tel<<endl;
cout<<"Adresse: "<<tab[position].adresse<<endl;
cout<<"Symptome: "<<tab[position].symptome<<endl;
cout<<"Medecin: "<<tab[position].medecin<<endl;
cout<<"Departement: "<<tab[position].departement<<endl;
cout << "-------------------------------------" << endl;
cout<<"Veuillez saissir le nouveau nom du patient>>";
cin>>tab[position].nom;
system("clear");
cout<<"Veuillez saissir le nouveau prenom du patient>>";
///Nettoyage de la memoire tampon
cin.ignore(255,'\n');
getline(cin, tab[position].prenom);
system("clear");
A:cout<<"Veuillez saissir le nouveau genre du patient>>";
cin>>tab[position].genre;
if(tab[position].genre.compare("Masculin")==0 ||
tab[position].genre.compare("Feminin")==0 ||
tab[position].genre.compare("masculin")==0||
tab[position].genre.compare("feminin")==0)
{
system("clear");
cout<<"Veuillez saissir le nouveau age du patient>>";
cin>>tab[position].age;
system("clear");
while(tab[position].age<1 || tab[position].age>150)
{
cout << "## Erreur ##\nVeuillez saissir un bon age>>";
cin>>tab[position].age;
system("clear");
}

cout<<"Veuillez sassir le nouveau poids du patient>>";


cin>>tab[position].poids;
system("clear");
while(tab[position].poids<1 || tab[position].poids>700)
{
cout << "## Erreur ##\nVeuillez saissir un bon poids>>";
cin>>tab[position].poids;
system("clear");
}

cout<<"Veuillez saissir le nouveau groupe sanguin du patient>>";


cin>>tab[position].groupe_sanguin;
system("clear");
cout<<"Veuillez saissir le nouveau numero de telephone du patient>>";
cin>>tab[position].numero_tel;
system("clear");
while((tab[position].numero_tel<610000000 ||
tab[position].numero_tel>612999999)&&(tab[position].numero_tel<620000000 ||
tab[position].numero_tel>629999999)&&(tab[position].numero_tel<660000000 ||
tab[position].numero_tel>664999999)&&(tab[position].numero_tel<666000000 ||
tab[position].numero_tel>666999999)&&(tab[position].numero_tel<669000000 ||
tab[position].numero_tel>669999999)&&(tab[position].numero_tel<654000000 ||
tab[position].numero_tel>657999999))
{
cout<<"## Numero incorrec! ##\nReprenez : ";
cin>>tab[position].numero_tel;
system("clear");
}
cout<<"Veuillez saissir la nouvelle adresse du patient>>";
cin>>tab[position].adresse;
system("clear");
cout<<"Veuillez saissir le nouveau symptome du patient>>";
cin>>tab[position].symptome;
system("clear");
cout<<"Veuillez saissir le nouveau medecin charge du patient>>";
///Nettoyage de la memoire tampon
cin.ignore(255,'\n');
getline(cin, tab[position].medecin);
system("clear");
cout<<"Veuillez saissir le nouveau departement du patient>>";
cin>>tab[position].departement;
system("clear");

cout << "## Modification reussi! ## " << endl;


}
else
{
goto A;
}
}

else{
cout << "## Patient Introuvable! ##" << endl;
}
}
void Supprimer(patients*tab,int& nb,string id)
{
int position = Rechercher(tab, nb, id);
if (position != -1){
for(int i = position; i < (nb-1); i++){
tab[i] = tab[i+1];
} nb--;
cout << "## Suppression effectuee avec success! ##" << endl;
} else{
cout << "## Patient Introuvable! ##" << endl;
}
}

void pause()
{
char systempause;
cin.ignore(255,'\n');
cout << "Appuyez sur une touche pour continuer...";
cin.get(systempause);
}

void runApp(){
patients P[T],patient;
int choix,nbpatient(0),position;
string id;
cout<<"\t\t=======BIENVENUE DANS L'APPLICATION DE MAIMOUNA BAH======="<<endl;
pause();system("clear");

do{

cout<<"---------------MENU---------------"<<endl;
cout<<"1==Ajouter un patient"<<endl;
cout<<"2==Afficher la liste des patients"<<endl;
cout<<"3==Rechercher un patient"<<endl;
cout<<"4==Modifier un patient"<<endl;
cout<<"5==Supprimer un patient"<<endl;
cout<<"6==Quitter"<<endl;
cout<<"----------------------------------"<<endl;
cout<<"Faites votre choix>>";
while(!(cin >> choix)) {
cout<<"## Erreur le choix doit etre un entier ##\n Reprenez>>";
cin.clear();///netoyage du flux 'cin'
cin.ignore(255,'\n');///netoyage de la memoire tampon
}
system("clear");
switch(choix){
case 1:cout<<"----------NOUVEL ENREGISTREMENT----------"<<endl;
cout<<"Veuillez saissir l'identifiant du patient>>P_NO";
cin>>patient.id;
patient.id = "P_NO" + patient.id;
while(Rechercher(P, nbpatient, patient.id)!=-1){
cout<<"## Erreur (identifiant exite) ##\nReprenez
l'enregistrement>>P_NO";
cin>>patient.id;
patient.id = "P_NO" + patient.id;
}
system("clear");
cout<<"Veuillez saissir le nom du patient>>";
cin>>patient.nom;
system("clear");
cout<<"Veuillez saissir le prenom du patient>>";

/// Nettoyage de la memoire tampon

cin.ignore(255,'\n');
getline(cin, patient.prenom);
system("clear");
A:cout<<"Veuillez saissir le genre du patient>>";
cin>>patient.genre;
system("clear");
if(patient.genre.compare("Masculin")==0 ||
patient.genre.compare("Feminin")==0 ||patient.genre.compare("masculin")==0||
patient.genre.compare("feminin")==0)
{
cout<<"Veuillez saissir l'age du patient>>";
cin>>patient.age;
system("clear");
while(patient.age<1 || patient.age>150)
{
cout << "## Erreur ##\nVeuillez saissir un bon age>>";
cin>>patient.age;
system("clear");
}
cout<<"Veuillez saissir le poids du patient>>";
cin>>patient.poids;
system("clear");
while(patient.poids<1 || patient.poids>700)
{
cout << "## Erreur ##\nVeuillez saissir un bon poids>>";
cin>>patient.poids;
system("clear");
}

cout<<"Veuillez sassir le groupe sanguin du patient>>";


cin>>patient.groupe_sanguin;
system("clear");
cout<<"Veuillez saissir le numero de telephone du patient>>";
cin>>patient.numero_tel;
system("clear");
while((patient.numero_tel<610000000 ||
patient.numero_tel>612999999)&&(patient.numero_tel<620000000 ||
patient.numero_tel>629999999)&&(patient.numero_tel<660000000 ||
patient.numero_tel>664999999)&&(patient.numero_tel<666000000 ||
patient.numero_tel>666999999)&&(patient.numero_tel<669000000 ||
patient.numero_tel>669999999)&&(patient.numero_tel<654000000 ||
patient.numero_tel>657999999))
{
cout<<"## Numero incorrect! ##\nReprenez : ";
cin>>patient.numero_tel;
system("clear");
}

cout<<"Veuillez saissir l'adresse du patient>>";


cin>>patient.adresse;
system("clear");
cout<<"Veuillez saissir le symptome du patient>>";
cin>>patient.symptome;
system("clear");
cout<<"Veuillez sassir le medecin charge du patient>>";
///Nettoyage de la memoire tampon
cin.ignore(255,'\n');
getline(cin, patient.medecin);
system("clear");
cout<<"Veuillez saissir le departement du patient>>";
cin>>patient.departement;
system("clear");
}
else
{
goto A;
}
Ajouter(P,nbpatient,patient);
pause();system("clear");
break;

case 2:

cout<<"\t\t----------------LISTE DES PATIENTS------------"<<endl;


Afficher(P,nbpatient);
pause();system("clear");
break;

case 3:

cout<<"\t\t---------RECHERCHE D'UN PATIENT---------"<<endl;


cout<<"Veuillez saisir l'identifiant du patient a rechercher>>";
cin>>id;
system("clear");
position=Rechercher(P, nbpatient, id);
if(position!=-1)
{
cout<<"============RESULTAT DE LA RECHERCHE============="<<endl;
cout<<"Id: "<<P[position].id<<endl;
cout<<"Nom: "<<P[position].nom<<endl;
cout<<"Prenom: "<<P[position].prenom<<endl;
cout<<"Genre: "<<P[position].genre<<endl;
cout<<"Age: "<<P[position].age<< "ans"<<endl;
cout<<"Poids: "<<P[position].poids<<"kg"<<endl;
cout<<"Groupe Sanguin: "<<P[position].groupe_sanguin<<endl;
cout<<"Numero Telephone: "<<P[position].numero_tel<<endl;
cout<<"Adresse: "<<P[position].adresse<<endl;
cout<<"Symptome: "<<P[position].symptome<<endl;
cout<<"Medecin: "<<P[position].medecin<<endl;
cout<<"Departement: "<<P[position].departement<<endl;
cout<<"================================================="<<endl;
}
else
{
cout<<"## Patient introuvable ##"<<endl;
}
pause(); system("clear");
break;
case 4:
cout<<"\t\t-----------MODIFICATION D'UN PATIENT--------"<<endl;
cout<<"Veuillez saissir l'identifiant du patient a modifier>>";
cin>>id;
system("clear");
Modifier(P,nbpatient,id);
pause();system("clear");
break;
case 5:cout<<"\t\t-------------SUPPRESSION D'UN PATIENT-----------"<<endl;
cout << "Veuillez saisir l'identifiant du patient a supprimer >> ";
cin >> id;
system("clear");
Supprimer(P,nbpatient,id);
pause();system("clear");
break;
case 6:
cout<<"## MAIMOUNA BAH vous remercie d'avoir visiter son application
##"<<endl;
break;

default:
cout<<"## Choix incorrect ##"<<endl;
pause();system("clear");
}

}while(choix!=6);

Vous aimerez peut-être aussi