int main() { // Vérification pour les fuites de mémoires _CrtSetDbgFlag(0 | _CRTDBG_ALLOC_MEM_DF // Débogage d'allocation mémoire. | _CRTDBG_LEAK_CHECK_DF // Rapport de fuites à la sortie du programme. | _CRTDBG_CHECK_ALWAYS_DF // Vérifie la corruption à chaque new/delete (lent). ); //1) Créer un objet Film(unFilm) avec constructeur par défaut ; Film unFilm; //2) Création d'un objet Film (unAutreFilm) avec constructeur par paramètre //Utiliser les arguments suivants : id = 2, titre = "Tentation (New Moon)", description = "Il s'agit du deuxième volet de l'adaptation cinématographique de la série de romans de Stephenie Meyer" duree 120, Date: 1/1/2010 Date uneDate(1, 1, 2010); Film* unAutreFilm = new Film(2, "Tentation (New Moon)", "Il s'agit du deuxieme volet de l'adaptation cinematographique de la serie de romans de Stephenie Meyer", 120, uneDate); //3) Modifier tous les attributs du Film créée dans 1) ; //utilisant les arguments suivants: id =1 titre = "Fascination (Twilight)", description = "Fascination est le premier roman de la saga twilight" et duree = 120, Date: 12/10/2009 Date dateTwilight1(12,10,2009); unFilm.setId(1); unFilm.setTitre("Fascination (Twilight)"); unFilm.setDescript("Fascination est le premier roman de la saga Twilight"); unFilm.setDuree(120); unFilm.setDate(dateTwilight1); //4) Allouer dynamiquement un Film utilisant le constructeur par défaut ; //nom de l'objet : (unFilmDynamique) Film* unTableauFilm = new Film; //5) Allouer dynamiquement une Film utilisant le constructeur par paramètres ; //Utiliser les arguments suivants : id = 4 ,titre = "Twilight, chapitre IV : Révélation", description = "Le mariage tant attendu a lieu"et durée = 120, , Date: 1,1,2013 uneDate.setJ(1); uneDate.setM(1); uneDate.setA(2013); Film* deuxTableauFilm = new Film(4,"Twilight, chapitre IV : Revelation","Le mariage tant attendu a lieu",120, uneDate); //6) Modifier les attributs de Film créée dans 4) ; //Appel des fonctions de modification l'objet unFilmDynamique //Utiliser les arguments suivants :id = 3, titre = "Twilight, chapitre III : Hésitation", desciption = "La famille Cullen est de retour à Forks" et duree = 120, Date: 2/3/2012 Date dateTwilight3(2,3,2012); unTableauFilm->setId(3); unTableauFilm->setTitre("Twilight, chapitre III : Hesitation"); unTableauFilm->setDescript("La famille Cullen est de retour a Forks"); unTableauFilm->setDuree(120); unTableauFilm->setDate(dateTwilight3); //Première section terminée cout<<endl<<"***************Affichage des attributs de uneFilmDynamique***************"<<endl; //7) Afficher les informations du Film créée dans 4) ; unTableauFilm->afficherInfoFilm(); //8) Allouer dynamiquement un tableau de 4 Films ; //Allocation dynamique d'un tableau de Films de 4 elements Film* quatreTableauFilm; quatreTableauFilm = new Film[4]; //9) Remplir le tableau crée dans 8) avec les Films créées précédemment* ; Film* unFilmPointe = new Film; // Ces deux instructions supplémentaires sont nécessaires. En effet, en incluant un élément non-alloué dynamiquement dans le tableau cause une erreur lors de l'appel du destructeur de ce dernier, puisqu'il tente de désallouer une mémoire qu'il n'a pas été alloué dynamiquement. *unFilmPointe = unFilm; // Ainsi, nous créons un nouveau film pointeur avec les mêmes informations que le film statique pour l'inclure dans le tableau dynamique. quatreTableauFilm[0] = *unFilmPointe; quatreTableauFilm[1] = *unAutreFilm; quatreTableauFilm[2] = *unTableauFilm; quatreTableauFilm[3] = *deuxTableauFilm; // Deuxième section terminée cout<<endl<<"***************affichage du tableau de Films***************"<<endl; //10) Afficher les informations des Films du tableau ; quatreTableauFilm[0].afficherInfoFilm(); quatreTableauFilm[1].afficherInfoFilm(); quatreTableauFilm[2].afficherInfoFilm(); quatreTableauFilm[3].afficherInfoFilm(); // //11) Créer un objet Coffret (CoffretSagaTwilight) //Utiliser l'id = 1 et le titre "Saga Twilight", Date:10/12/2012 uneDate.setJ(1); uneDate.setM(1); uneDate.setA(2013); Coffret* CoffretSagaTwilight = new Coffret(1, "Saga Twilight", uneDate); //12) Ajouter les Films du tableau dans le Coffret ; //Copier les Films contenues dans le tableau tableauFilm //dans l'Coffret CoffretSagaTwilight CoffretSagaTwilight->ajouterFilmCoffret(unFilmPointe); CoffretSagaTwilight->ajouterFilmCoffret(unAutreFilm); CoffretSagaTwilight->ajouterFilmCoffret(unTableauFilm); CoffretSagaTwilight->ajouterFilmCoffret(deuxTableauFilm); //13 creer 7 autres coffrets de votre choix avec les films de votre choix(pour simplifier les choses, deux film par cofret) // Création des dates pour les films et coffrets Date Taxi1Date(1,2,3), Taxi2Date(3,4,5), CoffretTaxi(02,03,2006), Matrice1Date(6,7,8), Matrice2Date(9,10,11), CoffretMatrice(01,06,2001), Titanic1Date(12,1,2001), Titanic2Date(23, 11,2120), CoffretTitanic(24,12,1999), BackToTheFuture1Date(31, 02,2013), BackToTheFuture2Date(43,03,23), CoffretBackToTheFuture(05,06,1608), Poulet1Date(21,12,2123), Poulet2Date(30, 10, 2013), CoffretPoulet(04,07,2008), Dinde1Date(12,23,4094), Dinde2Date(12,39,2039), CoffretDinde(14,07,2004), MCCEN1Date(2,5,2012), MCCEN2Date(10,12,2048), CoffretMMCEN(21,01,2013); // Création des films (2 par coffrets) Film* Taxi1 = new Film(1, "Taxi 1", "Un film avec un taxi", 90, Taxi1Date); Film* Taxi2 = new Film(2, "Taxi2", "Un film avec deux taxis", 97, Taxi2Date); Film* Matrice1 = new Film(23, "Matrice", "Un lapin avec une pilule bleu et une autre rouge et une fille et des effets speciaux", 120, Matrice1Date); Film* Matrice2 = new Film(24, "Matrice Revolution", "Plus d'effets speciaux", 123, Matrice2Date); Film* Titanic1 = new Film(12, "Titanic", "un bateau coule", 600, Titanic1Date); Film* Titanic2 = new Film(13, "Titanic 2", "Un autre bateau qui coule", 797, Titanic2Date); Film* BackToTheFuture1 = new Film(123, "Back To The Future 1", "Un retour dans le future", 120, BackToTheFuture1Date); Film* BackToTheFuture2 = new Film(124, "Back To The Future 2", "Un autre retour dans le future", 123, BackToTheFuture2Date); Film* Poulet1 = new Film(3, "Poulet 1", "Un poulet s'echappe d'un asile", 10, Poulet1Date); Film* Poulet2 = new Film(4, "Poulet 2", "Un poulet atteri dans un asile", 150, Poulet2Date); Film* Dinde1 = new Film(5, "Dinde 1 ", "Une dinde se fait manger par un poulet", 129, Dinde1Date); Film* Dinde2 = new Film(6, "Dinde 2", "Une dinde se fait manger et pousse un poulet a la demence", 120, Dinde2Date); Film* MCCEN1 = new Film(7,"MCCEN", "Je ne connais pas beaucoup de film", 120, MCCEN1Date); Film* MCCEN2 = new Film(8, "MCCEN2", "Ma culture cinematographique est nulle", 320, MCCEN2Date); // Création des coffrets Coffret* Taxi = new Coffret(2, "Taxi", CoffretTaxi); Coffret* Matrice = new Coffret(3, "La Matrice", CoffretMatrice); Coffret* Titanic = new Coffret(4, "Titanic", CoffretTitanic); Coffret* BackToTheFuture = new Coffret(5, "Back to the Future", CoffretBackToTheFuture); Coffret* Poulet = new Coffret(6, "L'histoire de Poulet", CoffretPoulet); Coffret* Dinde = new Coffret(7, "L'histoire de Dinde", CoffretDinde); Coffret* MCCEN = new Coffret(8, "MCCEN", CoffretMMCEN); //Ajouts des films par coffret Taxi->ajouterFilmCoffret(Taxi1); Taxi->ajouterFilmCoffret(Taxi2); Matrice->ajouterFilmCoffret(Matrice1); Matrice->ajouterFilmCoffret(Matrice2); Titanic->ajouterFilmCoffret(Titanic1); Titanic->ajouterFilmCoffret(Titanic2); BackToTheFuture->ajouterFilmCoffret(BackToTheFuture1); BackToTheFuture->ajouterFilmCoffret(BackToTheFuture2); Poulet->ajouterFilmCoffret(Poulet1); Poulet->ajouterFilmCoffret(Poulet2); Dinde->ajouterFilmCoffret(Dinde1); Dinde->ajouterFilmCoffret(Dinde2); MCCEN->ajouterFilmCoffret(MCCEN1); MCCEN->ajouterFilmCoffret(MCCEN2); // Troisième section terminée cout<<endl<<"***************Afficher les Films d'un Coffret***************"<<endl; //14 Afficher les film du premier coffret crée Taxi->afficherCoffret(); // 15) Créer un objet Videotheque ; //Creation d'une Videotheque (maVideotheque) Videotheque maVideotheque; //16) Ajouter tous les coffrets crées précédemment à la Videotheque maVideotheque.ajouterCoffret(CoffretSagaTwilight); maVideotheque.ajouterCoffret(Taxi); maVideotheque.ajouterCoffret(Matrice); maVideotheque.ajouterCoffret(Titanic); maVideotheque.ajouterCoffret(BackToTheFuture); maVideotheque.ajouterCoffret(Poulet); maVideotheque.ajouterCoffret(Dinde); maVideotheque.ajouterCoffret(MCCEN); // Quatrième section terminée cout<<endl<<"*******Afficher Coffrets et Films de la Videotheque*******"<<endl; //17) Afficher les titres et les informations de tous les films de tous les Coffrets de la Videotheque ; maVideotheque.afficherVideotheque(); //Fin du programme return 0; }
int main() { Film unFilm; //1) Créer un objet Film(unFilm) avec constructeur par défaut ; Date uneDate(1, 1, 2010); Film unAutreFilm(2, "Tentation (New Moon)", "Il s'agit du deuxième volet de l'adaptation cinématographique de la série de romans de Stephenie Meyer", 120, uneDate); //2) Création d'un objet Film (unAutreFilm) avec constructeur par paramètre //Utiliser les arguments suivants : id = 2, titre = "Tentation (New Moon)", description = "Il s'agit du deuxième volet de l'adaptation cinématographique de la série de romans de Stephenie Meyer" duree 120, Date: 1/1/2010 unAutreFilm.setId(1); unAutreFilm.setTitre("Fascination (Twilight)"); unAutreFilm.setDescript("Fascination est le premier roman de la saga twilight"); unAutreFilm.setDuree(120); unAutreFilm.setDate(12,10,2009); //3) Modifier tous les attributs du Film créée dans 1) ; //utilisant les arguments suivants: id =1 titre = "Fascination (Twilight)", description = "Fascination est le premier roman de la saga twilight" et duree = 120, Date: 12/10/2009 Film* unTableauFilm; unTableauFilm = new Film unFilmDynamique; //4) Allouer dynamiquement un Film utilisant le constructeur par défaut ; //nom de l'objet : (unFilmDynamique) uneDate.setJ(1); uneDate.setA(1); uneDate.setM(2013); Film* deuxTableauFilm; deuxTableauFilm = new Film deuxFilmDynamique(4,"Twilight, chapitre IV : Révélation","Le mariage tant attendu a lieu",120, uneDate); //5) Allouer dynamiquement une Film utilisant le constructeur par paramètres ; //Utiliser les arguments suivants : id = 4 ,titre = "Twilight, chapitre IV : Révélation", description = "Le mariage tant attendu a lieu"et durée = 120, , Date: 1,1,2013 unTableauFilm->setId(3); unTableauFilm->setTitre("Twilight, chapitre III : Hésitation"); unTableauFilm->setDescript("La famille Cullen est de retour à Forks"); unTableauFilm->setDuree(120); unTableauFilm->setDate(2,3,2012); //6) Modifier les attributs de Film créée dans 4) ; //Appel des fonctions de modification l'objet unFilmDynamique //Utiliser les arguments suivants :id = 3, titre = "Twilight, chapitre III : Hésitation", desciption = "La famille Cullen est de retour à Forks" et duree = 120, Date: 2/3/2012 cout<<endl<<"***************Affichage des attributs de uneFilmDynamique***************"<<endl; unTableauFilm->afficherInfoFilm(); //7) Afficher les informations du Film créée dans 4) ; //Allocation dynamique d'un tableau de Films de 4 elements Film* quatreTableauFilm; quatreTableauFilm = new Film[4]; //8) Allouer dynamiquement un tableau de 4 Films ; quatreTableauFilm[0] = unFilm; quatreTableauFilm[1] = unAutreFilm; quatreTableauFilm[2] = unTableauFilm[0]; quatreTableauFilm[3] = deuxTableauFilm[0]; //9) Remplir le tableau crée dans 8) avec les Films créées précédemment* ; cout<<endl<<"***************affichage du tableau de Films***************"<<endl; quatreTableauFilm[0].afficherInfoFilm(); quatreTableauFilm[1].afficherInfoFilm(); quatreTableauFilm[2].afficherInfoFilm(); quatreTableauFilm[3].afficherInfoFilm(); //10) Afficher les informations des Films du tableau ; uneDate.setJ(1); uneDate.setA(1); uneDate.setM(2013); Coffret CoffretSagaTwilight(1, "Saga Twilight", uneDate); // //11) Créer un objet Coffret (CoffretSagaTwilight) //Utiliser l'id = 1 et le titre "Saga Twilight", Date:10/12/2012 for(int i = 0; i < 4; i++) { CoffretSagaTwilight.ajouterFilm(quatreTableauFilm[i]); } //12) Ajouter les Films du tableau dans le Coffret ; //Copier les Films contenues dans le tableau tableauFilm //dans l'Coffret CoffretSagaTwilight Date Taxi1Date (1,2,3), Taxi2Date(3,4,5), Matrice1Date(6,7,8), Matrice2Date(9,10,11), Titanic1Date(12,1,2001), Titanic2Date(23, 11,2120), BackToTheFuture1Date(31, 02,2013), BackToTheFuture2Date(43,03,23), Poulet1Date(21,12,2123), Poulet2Date(30, 10, 2013), Dinde1Date(12,23,4094), Dinde2Date(12,39,2039), MCCEN1Date(2,5,2012), MCCEN2Date(10,12,2048); Film Taxi1(1, "Taxi 1", "Un film avec un taxi", 90, Taxi1Date), Taxi2(2, "Taxi2", "Un film avec deux taxis", 97, Taxi2Date), Matrice1(23, "Matrice", "Un lapin avec une pilule bleu et une autre rouge et une fille et des effets spéciaux", 120, Matrice1Date), Matrice2(24, "Matrice Revolution", "Plus d'effets spéciaux", 123, Matrice2Date), Titanic1(12, "Titanic", "un bateau coule", 600, Titanic1Date), Titanic2(13, "Titanic 2", "Un autre bateau qui coule", 797, Titanic2Date), BackToTheFuture1(123, "Back To The Future 1", "Un retour dans le future", 120, BackToTheFuture1Date), BackToTheFuture2(124, "Back To The Future 2", "Un autre retour dans le future", 123, BackToTheFuture2Date), Poulet1(3, "Poulet 1", "Un poulet s'échappe d'un azile", 10, Poulet1Date), Poulet2(4, "Poulet 2", "Un poulet atteri dans un azile", 150, Poulet2Date), Dinde1(5, "Dinde 1 ", "Une dinde se fait manger par un poulet", 129, Dinde1Date), Dinde2(6, "Dinde 2", "Une dinde se fait manger et pousse un poulet a la demence", 120, Dinde2Date), MCCEN1(7,"MCCEN", "Je ne connais pas beaucoup de film", 120, MCCEN1Date), MCCEN2(8, "MCCEN2", "Ma culture cinématographique est nulle", 320, MCCEN2Date); Coffret Taxi, Matrice, Titanic, BackToTheFuture, Poulet, Dinde, MCCEN; Taxi.ajouterFilm(Taxi1); Taxi.ajouterFilm(Taxi2); Matrice.ajouterFilm(Matrice1); Matrice.ajouterFilm(Matrice2); Titanic.ajouterFilm(Titanic1); Titanic.ajouterFilm(Titanic2); BackToTheFuture.ajouterFilm(BackToTheFuture1); BackToTheFuture.ajouterFilm(BackToTheFuture2); Poulet.ajouterFilm(Poulet1); Poulet.ajouterFilm(Poulet2); Dinde.ajouterFilm(Dinde1); Dinde.ajouterFilm(Dinde2); MCCEN.ajouterFilm(MCCEN1); MCCEN.ajouterFilm(MCCEN2); //13 creer 7 autres coffrets de votre choix avec les films de votre choix(pour simplifier les choses, deux film par cofret) cout<<endl<<"***************Afficher les Films d'un Coffret***************"<<endl; //14 Afficher les film du premier coffret crée //Creation d'une Videotheque (maVideotheque) // 15) Créer un objet Videotheque ; //16) Ajouter tous les coffrets crées précédemment à la Videotheque cout<<endl<<"*******Afficher Coffrets et Films de la Videotheque*******"<<endl; //17) Afficher les titres et les informations de tous les films de tous les Coffrets de la Videotheque ; return 0; }