Update main.cpp

main
Joan PIERRON 3 years ago
parent ec2f18daf5
commit 08f1457c80

@ -1,17 +1,20 @@
#include <iostream>
#include <thread> /* on récupère thread afin de faire un sleep pour l'esthétique du menu */
#include <thread>
#include "Personne.hpp"
#include"Contact.hpp"
#include "Contact.hpp"
#include "Personne2.h"
using namespace std;
using namespace reseau;
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<Contact*> 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;
}

Loading…
Cancel
Save