diff --git a/src/main.cpp b/src/main.cpp index be50e02..f660d59 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,17 +1,20 @@ #include -#include /* on récupère thread afin de faire un sleep pour l'esthétique du menu */ +#include #include "Personne.hpp" -#include"Contact.hpp" +#include "Contact.hpp" +#include "Personne2.h" using namespace std; using namespace reseau; -using this_thread::sleep_for; +using this_thread::sleep_for; -int main(){ - /* - On crée chaque personne qui seront dans notre réseau - */ +void technique1(){ + reseau2::Personne p1{"Bob"}; + reseau2::Personne p2{"Domi"}; +} + +int technique3(){ Personne p1{"Bob"}; Personne p2{"Domi"}; Personne p3{"Anne"}; @@ -28,9 +31,7 @@ int main(){ Personne p14{"Thibault"}; Personne p15{"Gwen"}; list Contacts; - /* - On crée les contacts en mettant leur propiétaire, on ajoute ensuite chaque contact dans une liste juste après leur construction - */ + // cout << "----------\n"; Contact c1{p1}; Contacts.push_back(&c1); Contact c2{p2}; @@ -61,9 +62,7 @@ int main(){ Contacts.push_back(&c14); Contact c15{p15}; Contacts.push_back(&c15); - /* - On place les contacts directs dans une liste de personne qui correspond au répertoire de chaque personne - */ + // cout << "----------\n"; c1.ajouterContact(p2); c1.ajouterContact(p5); c1.ajouterContact(p4); @@ -87,326 +86,166 @@ int main(){ c14.ajouterContact(p13); c15.ajouterContact(p9); - - /* - Début du menu et initialisation des variables qu'on utilisera pour chaque partie de celui-ci - */ int choix, choix2, choix3, persChoix; cout <<"\n ---------------------------------------------------------------\n | Technique n°3 (1) | Technique n°2 (2) | Sortir (3) |\n ---------------------------------------------------------------\n\n--> "; cin >> choix; switch(choix) { - /* - Le cas 1 et le cas 2 feront le même code au début donc on appliquera leurs différences plus tard dans un if - */ + case 1 : case 2 : cout << "\n -------------------------------------------------------------\n | Cas global (1) | Cas individuel (2) | Retour (3) |\n -------------------------------------------------------------\n\n--> "; cin >> choix2; switch(choix2) { - /* - Le cas 1 et le cas 2 feront le même code au début donc on appliquera leurs différences plus tard dans un if - */ + case 1: case 2: cout <<"\n -------------------------------------------------------------------\n | Contact Direct (1) | Contact Indirect (2) | Retour (3) |\n -------------------------------------------------------------------\n\n--> "; cin >> choix3; switch(choix3) { - /* - Le cas 1 et le cas 2 feront le même code au début donc on appliquera leurs différences plus tard dans un autre switch - */ case 1: case 2: - - /* - On applique en fonction de notre choix2 les méthodes et l'affichage voulu, afin d'éviter des répétitions dans les case. - */ if(choix2==2){ cout << "\n Choisissez la personne que vous voulez regarder : \n\n--------------------\n(1)\tBob\n(2)\tDomi\n(3)\tAnne\n(4)\tElie\n(5)\tCali\n(6)\tSamuel\n(7)\tElena\n(8)\tBaptiste\n(9)\tFranck\n(10)\tAgathe\n(11)\tLouna\n(12)\tTheo\n(13)\tMorgane\n(14)\tThibault\n(15)\tGwen\n--------------------\n\n Tapez le numéro de la personne : "; cin >> persChoix ; cout << "\n"; - - /* - On sépare les méthodes que l'on veut utiliser en fonction de la Technique choisi au début dans la variable choix avec un if et un else - */ - if(choix==1){ - /* - On applique en fonction de notre choix3 les méthodes voulu, afin d'éviter des répétitions dans les case. - */ - switch(choix3) { - case 1: - - /* - En fonction de la personne choisi avec la variable persChoix, il affiche ses contacts directs - */ - if(persChoix==1) - c1.afficherContactDirect(); - if(persChoix==2) - c2.afficherContactDirect(); - if(persChoix==3) - c3.afficherContactDirect(); - if(persChoix==4) - c4.afficherContactDirect(); - if(persChoix==5) - c5.afficherContactDirect(); - if(persChoix==6) - c6.afficherContactDirect(); - if(persChoix==7) - c7.afficherContactDirect(); - if(persChoix==8) - c8.afficherContactDirect(); - if(persChoix==9) - c9.afficherContactDirect(); - if(persChoix==10) - c10.afficherContactDirect(); - if(persChoix==11) - c11.afficherContactDirect(); - if(persChoix==12) - c12.afficherContactDirect(); - if(persChoix==13) - c13.afficherContactDirect(); - if(persChoix==14) - c14.afficherContactDirect(); - if(persChoix==15) - c15.afficherContactDirect(); - break; - case 2: - /* - En fonction de la personne choisi avec la variable persChoix, il affiche sa propagation - */ - if(persChoix==1) - c1.afficherContactIndirect(Contacts); - if(persChoix==2) - c2.afficherContactIndirect(Contacts); - if(persChoix==3) - c3.afficherContactIndirect(Contacts); - if(persChoix==4) - c4.afficherContactIndirect(Contacts); - if(persChoix==5) - c5.afficherContactIndirect(Contacts); - if(persChoix==6) - c6.afficherContactIndirect(Contacts); - if(persChoix==7) - c7.afficherContactIndirect(Contacts); - if(persChoix==8) - c8.afficherContactIndirect(Contacts); - if(persChoix==9) - c9.afficherContactIndirect(Contacts); - if(persChoix==10) - c10.afficherContactIndirect(Contacts); - if(persChoix==11) - c11.afficherContactIndirect(Contacts); - if(persChoix==12) - c12.afficherContactIndirect(Contacts); - if(persChoix==13) - c13.afficherContactIndirect(Contacts); - if(persChoix==14) - c14.afficherContactIndirect(Contacts); - if(persChoix==15) - c15.afficherContactIndirect(Contacts); - break; - } - } - else{ - switch(choix3) { /* TEHCNIQUE N°2*/ - case 1: - /* - En fonction de la personne choisi avec la variable persChoix, il affiche ses contacts directs - */ - if(persChoix==1) - c1.afficherContactDirect(); - if(persChoix==2) - c2.afficherContactDirect(); - if(persChoix==3) - c3.afficherContactDirect(); - if(persChoix==4) - c4.afficherContactDirect(); - if(persChoix==5) - c5.afficherContactDirect(); - if(persChoix==6) - c6.afficherContactDirect(); - if(persChoix==7) - c7.afficherContactDirect(); - if(persChoix==8) - c8.afficherContactDirect(); - if(persChoix==9) - c9.afficherContactDirect(); - if(persChoix==10) - c10.afficherContactDirect(); - if(persChoix==11) - c11.afficherContactDirect(); - if(persChoix==12) - c12.afficherContactDirect(); - if(persChoix==13) - c13.afficherContactDirect(); - if(persChoix==14) - c14.afficherContactDirect(); - if(persChoix==15) - c15.afficherContactDirect(); - break; - case 2: - /* - En fonction de la personne choisi avec la variable persChoix, il affiche sa propagation - */ - if(persChoix==1) - c1.afficherContactIndirect(Contacts); - if(persChoix==2) - c2.afficherContactIndirect(Contacts); - if(persChoix==3) - c3.afficherContactIndirect(Contacts); - if(persChoix==4) - c4.afficherContactIndirect(Contacts); - if(persChoix==5) - c5.afficherContactIndirect(Contacts); - if(persChoix==6) - c6.afficherContactIndirect(Contacts); - if(persChoix==7) - c7.afficherContactIndirect(Contacts); - if(persChoix==8) - c8.afficherContactIndirect(Contacts); - if(persChoix==9) - c9.afficherContactIndirect(Contacts); - if(persChoix==10) - c10.afficherContactIndirect(Contacts); - if(persChoix==11) - c11.afficherContactIndirect(Contacts); - if(persChoix==12) - c12.afficherContactIndirect(Contacts); - if(persChoix==13) - c13.afficherContactIndirect(Contacts); - if(persChoix==14) - c14.afficherContactIndirect(Contacts); - if(persChoix==15) - c15.afficherContactIndirect(Contacts); - break; - } - } - } - else{ - if(choix==1){ - switch(choix3){ - case 1: - /* - On affiche les contacts directs de tout le réseau - */ + switch(choix3) { + case 1: + if(persChoix==1) c1.afficherContactDirect(); + if(persChoix==2) c2.afficherContactDirect(); + if(persChoix==3) c3.afficherContactDirect(); + if(persChoix==4) c4.afficherContactDirect(); + if(persChoix==5) c5.afficherContactDirect(); + if(persChoix==6) c6.afficherContactDirect(); + if(persChoix==7) c7.afficherContactDirect(); + if(persChoix==8) c8.afficherContactDirect(); + if(persChoix==9) c9.afficherContactDirect(); + if(persChoix==10) c10.afficherContactDirect(); + if(persChoix==11) c11.afficherContactDirect(); + if(persChoix==12) c12.afficherContactDirect(); + if(persChoix==13) c13.afficherContactDirect(); + if(persChoix==14) c14.afficherContactDirect(); + if(persChoix==15) c15.afficherContactDirect(); - - break; - case 2: - /* - On affiche la propagation de tout le réseau - */ + break; + case 2: + if(persChoix==1) c1.afficherContactIndirect(Contacts); + if(persChoix==2) c2.afficherContactIndirect(Contacts); + if(persChoix==3) c3.afficherContactIndirect(Contacts); + if(persChoix==4) c4.afficherContactIndirect(Contacts); + if(persChoix==5) c5.afficherContactIndirect(Contacts); + if(persChoix==6) c6.afficherContactIndirect(Contacts); + if(persChoix==7) c7.afficherContactIndirect(Contacts); + if(persChoix==8) c8.afficherContactIndirect(Contacts); + if(persChoix==9) c9.afficherContactIndirect(Contacts); + if(persChoix==10) c10.afficherContactIndirect(Contacts); + if(persChoix==11) c11.afficherContactIndirect(Contacts); + if(persChoix==12) c12.afficherContactIndirect(Contacts); + if(persChoix==13) c13.afficherContactIndirect(Contacts); + if(persChoix==14) c14.afficherContactIndirect(Contacts); + if(persChoix==15) c15.afficherContactIndirect(Contacts); - - break; - } + break; } - else{ - switch(choix3){ /* TEHCNIQUE N°2*/ - case 1: - /* - On affiche les contacts directs de tout le réseau - */ - c1.afficherContactDirect(); - c2.afficherContactDirect(); - c3.afficherContactDirect(); - c4.afficherContactDirect(); - c5.afficherContactDirect(); - c6.afficherContactDirect(); - c7.afficherContactDirect(); - c8.afficherContactDirect(); - c9.afficherContactDirect(); - c10.afficherContactDirect(); - c11.afficherContactDirect(); - c12.afficherContactDirect(); - c13.afficherContactDirect(); - c14.afficherContactDirect(); - c15.afficherContactDirect(); - - break; - case 2: - /* - On affiche la propagation de tout le réseau - */ - c1.afficherContactIndirect(Contacts); - c2.afficherContactIndirect(Contacts); - c3.afficherContactIndirect(Contacts); - c4.afficherContactIndirect(Contacts); - c5.afficherContactIndirect(Contacts); - c6.afficherContactIndirect(Contacts); - c7.afficherContactIndirect(Contacts); - c8.afficherContactIndirect(Contacts); - c9.afficherContactIndirect(Contacts); - c10.afficherContactIndirect(Contacts); - c11.afficherContactIndirect(Contacts); - c12.afficherContactIndirect(Contacts); - c13.afficherContactIndirect(Contacts); - c14.afficherContactIndirect(Contacts); - c15.afficherContactIndirect(Contacts); - - break; - } + } + else{ + switch(choix3){ + case 1: + + c1.afficherContactDirect(); + c2.afficherContactDirect(); + c3.afficherContactDirect(); + c4.afficherContactDirect(); + c5.afficherContactDirect(); + c6.afficherContactDirect(); + c7.afficherContactDirect(); + c8.afficherContactDirect(); + c9.afficherContactDirect(); + c10.afficherContactDirect(); + c11.afficherContactDirect(); + c12.afficherContactDirect(); + c13.afficherContactDirect(); + c14.afficherContactDirect(); + c15.afficherContactDirect(); + + break; + case 2: + + c1.afficherContactIndirect(Contacts); + c2.afficherContactIndirect(Contacts); + c3.afficherContactIndirect(Contacts); + c4.afficherContactIndirect(Contacts); + c5.afficherContactIndirect(Contacts); + c6.afficherContactIndirect(Contacts); + c7.afficherContactIndirect(Contacts); + c8.afficherContactIndirect(Contacts); + c9.afficherContactIndirect(Contacts); + c10.afficherContactIndirect(Contacts); + c11.afficherContactIndirect(Contacts); + c12.afficherContactIndirect(Contacts); + c13.afficherContactIndirect(Contacts); + c14.afficherContactIndirect(Contacts); + c15.afficherContactIndirect(Contacts); + + break; } } break; case 3: - /* - les deux prochains case sont là pour appeler récursivement le main et donc notre menu - */ - main(); + technique3(); break; } break; case 3: - main(); + technique3(); break; } - /* - On attend 8 secondes après l'affichage de nos commandes puis on effache tout, pour avoir un ternimal vide entre chaque utilisation - */ sleep_for(8s); system("clear"); - main(); + technique3(); break; case 3 : - /* le return sert pour arrêter le programme lorsqu'on demande l'exit sur le premier menu*/ return 0; break; } - } +int main() { + technique1(); + // technique3(); + return 0; +}