#include #include #include #define PI 3.14159265358979323846 float surfaceCarre(float cote); float surfaceRectangle(float longueur, float largeur); float surfaceCercle(float rayon); float surfaceTriangle(float base, float hauteur); float surfaceParallelogramme(float base, float hauteur); float surfaceLosange(float diagonale1, float diagonale2); float surfaceTrapeze(float base1, float base2, float hauteur); float surfaceEllipse(float demiAxeA, float demiAxeB); float surfacePentagoneRegulier(float cote); float surfaceHexagoneRegulier(float cote); void afficherMenu(); int obtenirChoix(); void traiterChoix(int choix); float surfaceCarre(float cote) { return cote * cote; } float surfaceRectangle(float longueur, float largeur) { return longueur * largeur; } float surfaceCercle(float rayon) { return PI * rayon * rayon; } int main() { int choix; afficherMenu(); choix = obtenirChoix(); if (choix >= 1 && choix <= 10) { traiterChoix(choix); } else if (choix != 0) { printf("Choix invalide. Veuillez réessayer.\n\n"); } printf("Merci d'avoir utilisé le calculateur de surfaces !\n"); return 0; } void afficherMenu() { printf("\n==== CALCULATEUR DE SURFACES GÉOMÉTRIQUES ====\n"); printf("1. Carre\n"); printf("2. Rectangle\n"); printf("3. Cercle\n"); printf("4. Triangle\n"); printf("5. Parallelogramme\n"); printf("6. Losange\n"); printf("7. Trapeze\n"); printf("8. Ellipse\n"); printf("9. Pentagone Regulier\n"); printf("10. Hexagone Regulier\n"); printf("0. Quitter\n"); printf("Votre choix : "); } int obtenirChoix() { int choix; scanf("%d", &choix); return choix; } void traiterChoix(int choix) { float surface = 0.0; float cote, longueur, largeur, rayon, base, hauteur, diagonale1, diagonale2, base1, base2, demiAxeA, demiAxeB; if (choix == 1) goto Carre; if (choix == 2) goto rectangle; if (choix == 3) goto cercle; if (choix == 4) goto triangle; if (choix == 5) goto Parallelogramme; if (choix == 6) goto losange; if (choix == 7) goto Trapeze; if (choix == 8) goto ellipse; if (choix == 9) goto pentagone; if (choix == 10) goto hexagone; return; Carre: printf("\nCalcul de la surface d'un Carre\n"); printf("Entrez la longueur du cote : "); scanf("%f", &cote); surface = surfaceCarre(cote); printf("La surface du Carre est : %.2f\n", surface); return; rectangle: printf("\nCalcul de la surface d'un rectangle\n"); printf("Entrez la longueur : "); scanf("%f", &longueur); printf("Entrez la largeur : "); scanf("%f", &largeur); surface = surfaceRectangle(longueur, largeur); printf("La surface du rectangle est : %.2f\n", surface); return; cercle: printf("\nCalcul de la surface d'un cercle\n"); printf("Entrez le rayon : "); scanf("%f", &rayon); surface = surfaceCercle(rayon); printf("La surface du cercle est : %.2f\n", surface); return; triangle: printf("\nCalcul de la surface d'un triangle\n"); printf("Entrez la base : "); scanf("%f", &base); printf("Entrez la hauteur : "); scanf("%f", &hauteur); surface = surfaceTriangle(base, hauteur); printf("La surface du triangle est : %.2f\n", surface); return; Parallelogramme: printf("\nCalcul de la surface d'un Parallelogramme\n"); printf("Entrez la base : "); scanf("%f", &base); printf("Entrez la hauteur : "); scanf("%f", &hauteur); surface = surfaceParallelogramme(base, hauteur); printf("La surface du Parallelogramme est : %.2f\n", surface); return; losange: printf("\nCalcul de la surface d'un losange\n"); printf("Entrez la première diagonale : "); scanf("%f", &diagonale1); printf("Entrez la deuxième diagonale : "); scanf("%f", &diagonale2); surface = surfaceLosange(diagonale1, diagonale2); printf("La surface du losange est : %.2f\n", surface); return; Trapeze: printf("\nCalcul de la surface d'un Trapeze\n"); printf("Entrez la première base : "); scanf("%f", &base1); printf("Entrez la deuxième base : "); scanf("%f", &base2); printf("Entrez la hauteur : "); scanf("%f", &hauteur); surface = surfaceTrapeze(base1, base2, hauteur); printf("La surface du Trapeze est : %.2f\n", surface); return; ellipse: printf("\nCalcul de la surface d'une ellipse\n"); printf("Entrez le demi-axe a : "); scanf("%f", &demiAxeA); printf("Entrez le demi-axe b : "); scanf("%f", &demiAxeB); surface = surfaceEllipse(demiAxeA, demiAxeB); printf("La surface de l'ellipse est : %.2f\n", surface); return; pentagone: printf("\nCalcul de la surface d'un pentagone Regulier\n"); printf("Entrez la longueur du cote : "); scanf("%f", &cote); surface = surfacePentagoneRegulier(cote); printf("La surface du pentagone Regulier est : %.2f\n", surface); return; hexagone: printf("\nCalcul de la surface d'un hexagone Regulier\n"); printf("Entrez la longueur du cote : "); scanf("%f", &cote); surface = surfaceHexagoneRegulier(cote); printf("La surface de l'hexagone Regulier est : %.2f\n", surface); return; } float base_globale, hauteur_globale; float surfaceTriangle(float base, float hauteur) { return 0.5 * base_globale * hauteur_globale; } float surfaceParallelogramme(float base, float hauteur) { return base * hauteur; } float surfaceLosange(float diagonale1, float diagonale2) { return 0.5 * diagonale1 * diagonale2; } float surfaceTrapeze(float base1, float base2, float hauteur) { return 0.5 * (base1 + base2) * hauteur; } float surfaceEllipse(float demiAxeA, float demiAxeB) { return PI * demiAxeA * demiAxeB; } float surfacePentagoneRegulier(float cote) { return (5.0 / 4.0) * cote * cote * (1.0 / tan(PI / 5.0)); } float surfaceHexagoneRegulier(float cote) { return (3.0 * sqrt(3.0) / 2.0) * cote * cote; }