Vous êtes sur la page 1sur 2

Problème

Pour faire le tournage d’un film, une équipe de plusieurs techniciens est indispensable. Le technicien
est caractérisé par son nom, son prénom, son identifiant et son salaire de base. Cependant, il y a une
variété de techniciens. Le chef de l’équipe est le réalisateur. Ce dernier se caractérise, en plus, par un
niveau de formation qui varie entre « Formation Avancée, Formation Moyenne, Pas de Formation»,
la disponibilité pour faire le tournage et une liste déterminant les endroits de tournage fixés par lui-
même. Dans cette équipe aussi, un décorateur, un assistant de caméras et un assistant de lumière en
font partie. Le premier possède, outre le nom, le prénom, l’identifiant et le salaire de base, une liste
mémorisant les identifiants des composantes décoratives utilisées dans le film. Pour l’assistant de
caméras, il a un nombre de séquences à assurer, un test de validation du matériel (indiquant si l’état
du matériel à utiliser est valide ou non), un identifiant de caméra ainsi que son type. Concernant
l’assistant de lumière, il a, à son tour, un nombre de séquences, un test de validation du matériel et
une liste des identifiants des projecteurs utilisés pour le tournage.
Le film, qui se compose essentiellement de toute cette équipe, est défini par un titre, un pays
d’origine, une année de sortie et une liste de sociétés de production. Le but des sociétés de
production est d’avoir une idée approximative sur le budget de l’équipe de tournage. Ceci suppose
que chaque technicien possède une fonction qui lui permet de calculer son salaire. Donc, le budget
de l’équipe n’est que la somme des salaires de tous les techniciens. Toutefois, chacun de ces
techniciens a un mode de paiement particulier. Le réalisateur qui fait le tournage dans plus qu’un
seul endroit, qui a fait une formation avancée et qui est disponible pour le film va recevoir un prime
qui s’ajoute à son salaire de base (égal par défaut à 3400 dollars). Par contre, le réalisateur qui n’est
pas disponible aura un salaire nul. Le salaire du décorateur se calcule autrement. En effet, il aura un
bonus de 100 dollars sur chaque composante décorative utilisée s’ajoutant au salaire de base égal à
1000 dollars. L’assistant caméraman a un salaire de base de 1800 dollars. Alors que l’assistant
lumière qui a aussi un salaire de base égal à 1400 dollars, peut recueillir un bonus relatif au nombre
des projecteurs fixés sur le champ de tournage. Ce bonus est égal à 50 dollars par projecteur.
Bien évidemment, il faut prévoir les fonctions nécessaires qui permettent d’ajouter, à savoir, un lieu
de tournage pour le réalisateur, une composante décorative pour le décorateur, un projecteur pour
l’assistant de lumière et un membre de l’équipe de tournage dans un film.

Voici un scénario possible de cette description en code C++ défini dans la fonction main suivante :

int main( )

{
Film F1("Gladiator", "USA", 2000);

F1.AjouterSocProd("Dreamworks Pictures");
F1.AjouterSocProd("Universal Pictures");
F1.AjouterSocProd("Scott Free Productions");

cout<<F1;

Realisateur R1, R2("Tarantino","Quentin",555,20000,"FormationAvancee", false);


cout<<R2;
cout<<"\nEntrez les données de votre réalisateur : "<<endl;
cin>> R1;

R1.AjouterLieuTourn ("RoyaumeUni");
R1.AjouterLieuTourn ("Maroc");
R1.AjouterLieuTourn ("Malte");
R1.AjouterLieuTourn ("Italie");

cout<<R1;

Decorateur D1;
D1.AjouterCompDeco (12);
D1.AjouterCompDeco (13);
D1.AjouterCompDeco (14);

AssistantCam AC1;

AssistantLum AL1;
AL1.AjouterProj (1);
AL1.AjouterProj (2);
AL1.AjouterProj (3);

F1.AjouterTech (&R1);
F1.AjouterTech (&R2);
F1.AjouterTech (&D1);
F1.AjouterTech (&AC1);
F1.AjouterTech (&AL1);

cout<<"Le budget du film : "<<F1.BudgetFilm( )<<endl;

Travail à faire :

Développer toutes les classes nécessaires (tous les attributs et toutes les méthodes requises) qui
permettent de répondre au développement présenté dans cette fonction main.

Vous aimerez peut-être aussi