Affichage du périmètre
Dans cette dernière étape, vous améliorerez le programme de calcul du périmètre d'un polygone en ajoutant une sortie formatée et une gestion des erreurs pour la validation des entrées.
Ouvrez le fichier existant :
cd ~/project
nano polygon_perimeter.c
Mettez à jour le code avec une validation d'entrée améliorée et une sortie formatée :
#include <stdio.h>
#define MAX_COTES 10
#define MIN_COTES 3
int main() {
float cotes[MAX_COTES];
int nb_cotes;
float perimetre = 0.0;
// Demander à l'utilisateur le nombre de côtés avec validation d'entrée
do {
printf("Entrez le nombre de côtés du polygone (entre %d et %d) : ",
MIN_COTES, MAX_COTES);
scanf("%d", &nb_cotes);
if (nb_cotes < MIN_COTES || nb_cotes > MAX_COTES) {
printf("Nombre de côtés invalide. Veuillez réessayer.\n");
}
} while (nb_cotes < MIN_COTES || nb_cotes > MAX_COTES);
// Saisie des longueurs des côtés avec validation
printf("Entrez les longueurs des côtés :\n");
for (int i = 0; i < nb_cotes; i++) {
float longueur_cote;
do {
printf("Longueur du côté %d (doit être positive) : ", i + 1);
scanf("%f", &longueur_cote);
if (longueur_cote <= 0) {
printf("Longueur de côté invalide. Veuillez saisir une valeur positive.\n");
} else {
cotes[i] = longueur_cote;
break;
}
} while (1);
}
// Calcul du périmètre en additionnant tous les côtés
for (int i = 0; i < nb_cotes; i++) {
perimetre += cotes[i];
}
// Sortie formatée des résultats
printf("\n--- Calcul du périmètre du polygone ---\n");
printf("Nombre de côtés : %d\n", nb_cotes);
printf("\nLongueurs des côtés :\n");
for (int i = 0; i < nb_cotes; i++) {
printf("Côtés %d : %.2f\n", i + 1, cotes[i]);
}
printf("\nCalcul du périmètre :\n");
for (int i = 0; i < nb_cotes; i++) {
printf("%s%.2f", (i > 0) ? " + " : "", cotes[i]);
}
printf(" = %.2f\n", perimetre);
printf("\nPérimètre final : %.2f\n", perimetre);
return 0;
}
Compilez le programme mis à jour :
gcc -o polygon_perimeter polygon_perimeter.c
Exécutez le programme :
./polygon_perimeter
Exemple de sortie :
Entrez le nombre de côtés du polygone (entre 3 et 10) : 4
Entrez les longueurs des côtés :
Longueur du côté 1 (doit être positive) : 5.5
Longueur du côté 2 (doit être positive) : 6.2
Longueur du côté 3 (doit être positive) : 4.3
Longueur du côté 4 (doit être positive) : 7.1
--- Calcul du périmètre du polygone ---
Nombre de côtés : 4
Longueurs des côtés :
Côtés 1 : 5.50
Côtés 2 : 6.20
Côtés 3 : 4.30
Côtés 4 : 7.10
Calcul du périmètre :
5.50 + 6.20 + 4.30 + 7.10 = 23.10
Périmètre final : 23.10
Améliorations clés de cette étape :
- Ajout de la validation des entrées pour le nombre de côtés et les longueurs des côtés
- Création d'une sortie plus détaillée et formatée
- Inclusion d'un affichage pas à pas du calcul du périmètre
- Respect des contraintes minimales et maximales pour le nombre de côtés