- Définir une classe
Note
caractérisée par une note entière, sa pondération (entière), et le type de note (TP ou CM). - Définir le constructeur par défaut, et un constructeur à paramètres.
- Écrire une procédure
Affiche
qui affiche la note et sa pondération entre parenthèses (pas son type). - Écrire une procédure
Change
qui change la valeur de la note mais pas la pondération, ni son type. - Définir une classe
UE
représentant un tableau (de taille variable) de notes. - Écrire le constructeur vide.
- Écrire une procédure
Ajoute
ajoutant uneNote
à la liste des notes de l'UE. - Écrire une procédure
Affiche
qui affiche l'ensemble des notes de l'UE (avec leur pondération) sous la forme :
- Écrire une fonction membre
Moyenne
calculant la moyenne de l'UE, comme la moyenne de toutes les notes de TP et CM. - Écrire une fonction membre
Valide
qui retourne un booléen selon que l'UE soit validée (moyenne supérieure à 10) ou non. - Écrire une fonction membre
Change(int i, int n)
qui change la i-ème note par une nouvelle note, sans changer la pondération ni le type de note. - Écrire une fonction amie
Fusion
qui retourne une UE avec la fusion des notes de deux UE. - Écrire une fonction
Bilan
affichant les notes, et le message ou selon la moyenne. - Écrire un programme principal qui crée une UE, et l'affiche (elle devrait être vide).
- Ajouter les notes de TP , et les notes de .
- Afficher le bilan de l'UE.
- Corriger la troisième note, normalement le , de l'UE en un , et afficher le nouveau bilan.
Créez un fichier avec votre nom de type nom-prenom.cpp
qui contiendra l'intégralité
du code demandé. Le fichier devra contenir les déclarations des structures et des fonctions
en début de fichier (ce qui aurait été placé dans un fichier .h
), puis
le code des fonctions, et enfin le main()
avec les appels validant
les fonctions.
Aucune lecture de la part de l'utilisateur (std::cin>>
) n'est attendu.
Classe Note
Classe UE
Programme
On pourra remplacer les fonctions membres Affiche
par la surcharge de l'opérateur de
flot operator<<
.