Afficher la moyenne
Dans cette dernière étape, nous allons refactoriser le code pour créer une fonction pour calculer et afficher la moyenne, ce qui rendra notre programme plus modulaire et lisible.
Ouvrez le fichier existant :
cd ~/project
nano mean_calculation.c
Mettez à jour le code avec une fonction dédiée au calcul de la moyenne :
#include <stdio.h>
#define MAX_SIZE 100
// Fonction pour calculer et afficher la moyenne
void calculateMean(int numbers[], int count) {
if (count <= 0) {
printf("Erreur : Aucun nombre pour calculer la moyenne.\n");
return;
}
int sum = 0;
float mean;
// Calculer la somme
for (int i = 0; i < count; i++) {
sum += numbers[i];
}
// Calculer la moyenne
mean = (float)sum / count;
// Afficher les statistiques détaillées
printf("\nStatistiques :\n");
printf("Nombre d'éléments : %d\n", count);
printf("Somme des nombres : %d\n", sum);
printf("Moyenne des nombres : %.2f\n", mean);
}
int main() {
int numbers[MAX_SIZE];
int count;
// Demander à l'utilisateur le nombre d'éléments
printf("Entrez le nombre d'éléments (max %d) : ", MAX_SIZE);
scanf("%d", &count);
// Validation de l'entrée
if (count <= 0 || count > MAX_SIZE) {
printf("Nombre d'éléments invalide !\n");
return 1;
}
// Lire les nombres dans le tableau
printf("Entrez %d nombres :\n", count);
for (int i = 0; i < count; i++) {
printf("Entrez le nombre %d : ", i + 1);
scanf("%d", &numbers[i]);
}
// Afficher les nombres saisis
printf("\nLes nombres saisis sont :\n");
for (int i = 0; i < count; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
// Calculer et afficher la moyenne
calculateMean(numbers, count);
return 0;
}
Compilez le programme :
gcc mean_calculation.c -o mean_calculation
Exécutez le programme :
./mean_calculation
Exemple de sortie :
Entrez le nombre d'éléments (max 100) : 4
Entrez 4 nombres :
Entrez le nombre 1 : 10
Entrez le nombre 2 : 20
Entrez le nombre 3 : 30
Entrez le nombre 4 : 40
Les nombres saisis sont :
10 20 30 40
Statistiques :
Nombre d'éléments : 4
Somme des nombres : 100
Moyenne des nombres : 25.00
Améliorations clés de cette version :
- Création d'une fonction distincte
calculateMean()
.
- Ajout d'une sortie statistique plus détaillée.
- Amélioration de la gestion des erreurs pour les cas limites.
- Conservation de la même fonctionnalité de base que les étapes précédentes.
- Conception de code plus modulaire et plus facile à lire.
Le programme démontre :
- Une approche basée sur les fonctions pour les calculs.
- Une sortie statistique complète.
- Une conception de code modulaire.