@ -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) \t Bob \n (2) \t Domi \n (3) \t Anne \n (4) \t Elie \n (5) \t Cali \n (6) \t Samuel \n (7) \t Elena \n (8) \t Baptiste \n (9) \t Franck \n (10) \t Agathe \n (11) \t Louna \n (12) \t Theo \n (13) \t Morgane \n (14) \t Thibault \n (15) \t Gwen \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 ( 8 s ) ;
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 ;
}