From cfb855675b6e34912b05aef6d071456b74cf3a00 Mon Sep 17 00:00:00 2001 From: mamazingue Date: Thu, 31 Mar 2022 20:42:13 +0000 Subject: [PATCH] Update main.cpp --- src/main.cpp | 292 +++++++++++++++++---------------------------------- 1 file changed, 96 insertions(+), 196 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 5fb29cd..e3fe43b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,82 +1,20 @@ #include -#include +#include #include "Personne.hpp" -#include "Contact.hpp" -#include "Personne2.h" +#include"Personne2.h" +#include"Contact.hpp" using namespace std; using namespace reseau; -using this_thread::sleep_for; -void technique1(){ - reseau2::Personne p1{"Bob"}; - reseau2::Personne p2{"Domi"}; - reseau2::Personne p3{"Anne"}; - reseau2::Personne p4{"Elie"}; - reseau2::Personne p5{"Cali"}; - reseau2::Personne p6{"Samuel"}; - reseau2::Personne p7{"Elena"}; - reseau2::Personne p8{"Baptiste"}; - reseau2::Personne p9{"Franck"}; - reseau2::Personne p10{"Agathe"}; - reseau2::Personne p11{"Louna"}; - reseau2::Personne p12{"Theo"}; - reseau2::Personne p13{"Morgane"}; - reseau2::Personne p14{"Thibault"}; - reseau2::Personne p15{"Gwen"}; - - p1.ajoutListe(p2); - p1.ajoutListe(p5); - p1.ajoutListe(p4); - p3.ajoutListe(p1); - p3.ajoutListe(p2); - p4.ajoutListe(p5); - p4.ajoutListe(p6); - p5.ajoutListe(p4); - p6.ajoutListe(p7); - p6.ajoutListe(p9); - p7.ajoutListe(p3); - p8.ajoutListe(p2); - p9.ajoutListe(p6); - p9.ajoutListe(p11); - p10.ajoutListe(p7); - p10.ajoutListe(p8); - p11.ajoutListe(p15); - p12.ajoutListe(p10); - p13.ajoutListe(p11); - p14.ajoutListe(p12); - p14.ajoutListe(p13); - p15.ajoutListe(p9); - - p1.affichListe(); - p2.affichListe(); - p3.affichListe(); - p4.affichListe(); - p5.affichListe(); - p6.affichListe(); - p7.affichListe(); - p8.affichListe(); - p9.affichListe(); - p10.affichListe(); - p11.affichListe(); - p12.affichListe(); - p13.affichListe(); - p14.affichListe(); - p15.affichListe(); +int main() { + /* + On crée chaque personne qui seront dans notre réseau + */ - for (reseau2::Personne p : p1.listePersonneAll ) - { - cout< Contacts; - // cout << "----------\n"; - reseau::Contact c1{p1}; + 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 + */ + Contact c1{p1}; Contacts.push_back(&c1); - reseau::Contact c2{p2}; + Contact c2{p2}; Contacts.push_back(&c2); - reseau::Contact c3{p3}; + Contact c3{p3}; Contacts.push_back(&c3); - reseau::Contact c4{p4}; + Contact c4{p4}; Contacts.push_back(&c4); - reseau::Contact c5{p5}; + Contact c5{p5}; Contacts.push_back(&c5); - reseau::Contact c6{p6}; + Contact c6{p6}; Contacts.push_back(&c6); - reseau::Contact c7{p7}; + Contact c7{p7}; Contacts.push_back(&c7); - reseau::Contact c8{p8}; + Contact c8{p8}; Contacts.push_back(&c8); - reseau::Contact c9{p9}; + Contact c9{p9}; Contacts.push_back(&c9); - reseau::Contact c10{p10}; + Contact c10{p10}; Contacts.push_back(&c10); - reseau::Contact c11{p11}; + Contact c11{p11}; Contacts.push_back(&c11); - reseau::Contact c12{p12}; + Contact c12{p12}; Contacts.push_back(&c12); - reseau::Contact c13{p13}; + Contact c13{p13}; Contacts.push_back(&c13); - reseau::Contact c14{p14}; + Contact c14{p14}; Contacts.push_back(&c14); - reseau::Contact c15{p15}; + 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); @@ -148,165 +92,121 @@ void technique3(){ c14.ajouterContact(p13); c15.ajouterContact(p9); - int choix, choix2, choix3, persChoix; + vector Repertoire = { c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15 }; + int i=1; + Repertoire[i].afficherContactDirect(); - cout <<"\n ---------------------------------------------------------------\n | Technique n°3 (1) | Technique n°2 (2) | Sortir (3) |\n ---------------------------------------------------------------\n\n--> "; + /* + Début du menu et initialisation des variables qu'on utilisera pour chaque partie de celui-ci + */ + int choix, choix2, choix3, persChoix, persDest, persEnvoie; + + + cout <<"\n ---------------------------------------------------------------\n | Technique n°1 (1) | Technique n°3 (2) | Sortir (3) |\n ---------------------------------------------------------------\n\n--> "; cin >> choix; switch(choix) { - 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: - 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(); + /* + En fonction de la personne choisi avec la variable persChoix, il affiche ses contacts directs + */ + Repertoire[persChoix-1].afficherContactDirect(); 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); + /* + En fonction de la personne choisi avec la variable persChoix, il affiche sa propagation + */ + Repertoire[persChoix-1].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(); - + /* + On affiche les contacts directs de tout le réseau + */ + for (long unsigned int i=0; i> persEnvoie ; + cout << "\n"; + cout << "\n Choisissez le destinataire : \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 >> persDest ; + cout << "\n"; + Repertoire[persEnvoie-1].peutCommuniquer(Repertoire[persDest-1]); + main(); break; case 3 : + /* le return sert pour arrêter le programme lorsqu'on demande l'exit sur le premier menu*/ + exit(0); /* */ break; } + } -int main() { - technique1(); - // technique3(); - return 0; -}