Exercice 1
On considère un fichier notes.txt de la forme suivante :
12
14.75
15
16
14
10.5
10
12
2.55
14
15
0.33
2
Tel que :
- L’entier de la première ligne représente le nombre de notes
- Les autres lignes sont les notes
Codez un programme permettant de stocker les notes dans un vecteur puis de calculer la moyenne des notes.
#include <iostream> // Pour les E/S
#include <string> // Pour les string
#include <vector> // Pour les vecteurs
#include <fstream> // Pour les fichiers
void calculer_moyenne(std::string fichier){
// Ouvrir le fichier
std::ifstream fich(fichier);
// Vérifier si le fichier est ouvert
if(!fich.is_open()){
std::cout << "Le fichier n'a pas été ouvert\n";
exit(1);
}
// On stocke le nombre de notes
int nb_notes;
fich >> nb_notes;
// Création du vecteur et de la variable note
std::vector<float> tab_note;
float note;
// Tant qu'il y a une note, on l'ajoute à la fin du vecteur
while(fich >> note)
tab_note.push_back(note);
// Parcours du vecteur et ajout à la somme
float somme = 0;
for(auto i : tab_note) somme+=i;
// Affichage de la moyenne
std::cout << "Moyenne des notes : " << somme/nb_notes << "\n";
// Fermer le fichier
fich.close();
}
int main(){
// Appel de la fonction
calculer_moyenne("notes.txt");
}