Vous êtes sur la page 1sur 2

DEVOIR POO EN C++

EXERCICE 1

On veut écrire un programme gérant le coût des enseignants d'une université. Chaque enseignant a
un nom, un prénom et un certain nombre d'heures de cours assurées dans l'année.

Il existe plusieurs catégories d'enseignants.

Les enseignants-chercheurs sont payés avec un salaire fixe (2000 euros par mois pour simplifier) plus le
revenu des heures complémentaires (40 euros de l'heure). Les heures complémentaires sont les heures
effectuées au-delà des 192h. Ainsi, un enseignant-chercheur qui donne 200h de cours dans l'année recevra
2000*12+8*40=24320 euros sur l'année.

Les vacataires sont des enseignants venant d'un organisme extérieur à l'université. Cet
organisme est décrit par une chaine de caractères. Les vacataires sont payés 40 euros de l'heure pour
toutes leurs heures.

Les étudiants de 3e cycle (doctorants) peuvent assurer des cours et sont payés 30 euros de l'heure, mais ne
peuvent dépasser 96h de cours. Un doctorant qui fait plus de 96h ne recevra que le
salaire correspondant à 96h de cours.

Finalement, sur tous les salaires versés, on applique des charges égales à un certain pourcentage du salaire,
ce pourcentage est le même pour tous les enseignants (par exemple 5%, ce qui signifie que le montant des
charges est égal a 5% du montant des salaires).

On veut, pour chaque enseignant, pouvoir connaitre ce qu'il coûte à l'université par an (salaire + charges).

1. Créer une classe Enseignant avec comme attribut nom, prenom, heure, charges(=5%) ; et comme
méthode cout et afficherCout.
2. Dans la classe Enseignant un constructeur prenant en paramètres le nom, le prénom et les heures
doit être créé
3. Créer une classe EnseignantChercheur qui hérite d’enseignant ; implémentez le code de la méthode
cout et afficherCout. Le constructeur prend les mêmes paramètres que la classe mère
4. Créez une classe Vacataire qui hérite d’Enseignant avec un attribut organisme. Le constricteur de
cette classe doit prendre en paramètre l’organisme en plus des 3 autres paramètres de la classe mère ;
implémentez le code de la fonction cout et afficherCout.
5. Enfin créez une classe Doctorant et implémentez la fonction cout et afficherCout.
6. Dans la fonction main, vous allez proposer un menu qui permettra à l’utilisateur de choisir le type
d’enseignant
1. Enseignant Chercheur
2. Enseignant Vacataire
3. Enseignant Doctorant

L’utilisateur choisit en entrant 1, 2 ou 3 ; puis entre le nom, le prénom, le nombre d’heure et


éventuellement l’organisme ; le programme calcule et affiche le cout.
EXERCICE 2

On veut réaliser un programme de gestion des recettes de cuisine, qui sera installé sur des appareils
électroménagers pour leur permettre de faire la cuisine de façon autonome.

NB l'état d'un ingrédient peut être cuit, entier, cru, découpé, ou une combinaison de ces états (par
exemple cuit et entier). L'unité peut être une unité de poids (gramme, kg, etc), de volume (litre, ml, cl) ou
simplement une cardinalité.

1. Créer la classe Ingrédients avec comme attributs le nom, l’etat(string), la quantité, l’unité. Un
constructeur qui prend tous ces paramètres
2. Écrivez une classe Plat qui représente les plats, chaque plat ayant un nom et une liste(collections)
d'ingrédients. On doit pouvoir créer un plat avec son nom. Il faut également avoir des accesseurs
sur le nom du plat et les ingrédients ; et pouvoir ajouter un ingrédient à un plat.

Écrivez également ans la méthode main le code qui crée un plat appelé choucroute puis luis ajoute 3
ingrédients :

• 500g de choucroute cuite,


• 150g de lard cuit et entier
• 2 saucisses entières et cuites
3. Ajoutez dans la classe Plat une méthode qui retourne le nombre d’ingrédients du plat puis testez
cette méthode dans le main.
4. Créez dans la classe Plat une méthode qui retire un ingrédient puis dans la méthode main, vous
testerez cette méthode. (L’utilisateur entre le numéro de l’ingrédient qu’il souhaite retirer )

Vous aimerez peut-être aussi