/*
Nom : ...
Prénom : ...
Projet : Gestionnaire de notes
Date : ...
*/
#include <iostream>
using namespace std;
// Fonction qui calcule la moyenne des notes
float calculerMoyenne(float notes[], int taille) {
float somme = 0;
for (int i = 0; i < taille; i++) {
somme += notes[i];
}
return somme / taille;
}
// Fonction qui retourne la meilleure note
float meilleureNote(float notes[], int taille) {
float max = notes[0];
for (int i = 1; i < taille; i++) {
if (notes[i] > max) {
max = notes[i];
}
}
return max;
}
// Fonction récursive qui calcule la somme des notes
float sommeRecursive(float notes[], int taille) {
if (taille == 0) return 0;
return notes[taille - 1] + sommeRecursive(notes, taille - 1);
}
// Fonction qui retourne la mention selon la moyenne
string getMention(float moyenne) {
if (moyenne >= 16) return "Très Bien";
if (moyenne >= 14) return "Bien";
if (moyenne >= 12) return "Assez Bien";
if (moyenne >= 10) return "Passable";
return "Échec";
}
int main() {
int n;
cout << "Combien de notes ? ";
cin >> n;
// Validation du nombre de notes
while (n <= 0) {
cout << "Veuillez entrer un nombre positif : ";
cin >> n;
}
float notes[n];
// Saisie des notes avec validation
for (int i = 0; i < n; i++) {
cout << "Note " << (i + 1) << " : ";
cin >> notes[i];
// Validation : note entre 0 et 20
while (notes[i] < 0 || notes[i] > 20) {
cout << "Note invalide ! Entrez une note entre 0 et 20 : ";
cin >> notes[i];
}
}
float moyenne = calculerMoyenne(notes, n);
string mention = getMention(moyenne);
float best = meilleureNote(notes, n);
float somme = sommeRecursive(notes, n);
cout << "\nMoyenne : " << moyenne << endl;
cout << "Mention : " << mention << endl;
cout << "Meilleure note : " << best << endl;
cout << "Somme recursive : " << somme << endl;
return 0;
}