Ajouter exo3/main.c
This commit is contained in:
parent
02a70c1480
commit
80be977428
222
exo3/main.c
Normal file
222
exo3/main.c
Normal file
@ -0,0 +1,222 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
#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;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user