diff --git a/src/main.cpp b/src/main.cpp index 03dbf58..1c7ffc6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,14 +1,17 @@ #include -#include +#include /* on récupère thread afin de faire un sleep pour l'esthétique du menu */ #include "Personne.hpp" #include"Contact.hpp" 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 + */ Personne p1{"Bob"}; Personne p2{"Domi"}; Personne p3{"Anne"}; @@ -26,6 +29,9 @@ int main(){ Personne p15{"Gwen"}; list Contacts; // cout << "----------\n"; + /* + On crée les contacts en mettant leur propiétaire, on ajoute ensuite chaque contact dans une liste juste après leur construction + */ Contact c1{p1}; Contacts.push_back(&c1); Contact c2{p2}; @@ -57,6 +63,9 @@ int main(){ Contact c15{p15}; Contacts.push_back(&c15); // cout << "----------\n"; + /* + On place les contacts directs dans une liste de personne qui correspond au répertoire de chaque personne + */ c1.ajouterContact(p2); c1.ajouterContact(p5); c1.ajouterContact(p4); @@ -86,51 +95,56 @@ int main(){ // cout << "----------\n"; - - -// menu { -// 1 = technique 1 -// LiaisonDirect() -// LiaisonIndirect() -// LiaisonDirect pour une personne() -// LiaisonIndirect pour une personne() -// 2 = technique 2 -// LiaisonDirect() -// LiaisonIndirect() -// LiaisonDirect pour une personne() -// LiaisonIndirect pour une personne() -// } - - + /* + 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 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) @@ -163,6 +177,9 @@ int main(){ 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) @@ -199,7 +216,9 @@ int main(){ else{ switch(choix3){ case 1: - + /* + On affiche les contacts directs de tout le réseau + */ c1.afficherContactDirect(); c2.afficherContactDirect(); c3.afficherContactDirect(); @@ -218,7 +237,9 @@ int main(){ break; case 2: - + /* + On affiche la propagation de tout le réseau + */ c1.afficherContactIndirect(Contacts); c2.afficherContactIndirect(Contacts); c3.afficherContactIndirect(Contacts); @@ -241,6 +262,9 @@ int main(){ break; case 3: + /* + les deux prochains case sont là pour appeler récursivement le main et donc notre menu + */ main(); break; } @@ -250,11 +274,15 @@ int main(){ main(); 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(); break; case 3 : + /* le return sert pour arrêter le programme lorsqu'on demande l'exit sur le premier menu*/ return 0; break; }