Etudes/BTS/C/Premiere annee/IMC.c

160 lines
4.7 KiB
C
Raw Normal View History

2016-10-14 15:11:52 +00:00
//Herbron Tanguy
//Calcul de l'IMC
#include <stdio.h>
#include <stdlib.h>
int main()
{
char nom[100];
char prenom[100];
char sexe;
char choixFormule;
float age;
int menu = 0;
float taille;
float poids;
float imc;
float poidsIdeal;
printf("Bienvenue dans notre programme de calcul de l'IMC.\n");
printf("Nous avons besoin de quelques renseignements.\n");
printf("Votre nom: ");
gets(nom);
printf("Votre prénom: ");
gets(prenom);
printf("Votre sexe (h ou f): ");
scanf(" %c", &sexe);
while(sexe != 'h' && sexe != 'f')
{
printf("Saisie incorrecte, réessayez.\n");
printf("Votre sexe (h ou f): ");
scanf(" %c", &sexe);
}
printf("Votre age: ");
scanf("%d", &age);
printf("Votre taille (en mètre): ");
scanf("%f", &taille);
printf("Votre poids (en kg): ");
scanf("%f", &poids);
printf("\n");
printf("Votre fiche récapitulative :\n");
printf("- Identite : %s %s\n", prenom, nom);
printf("- Age : %.0f ans\n", age);
printf("- Poids : %.2f kg\n", poids);
printf("- Taille : %.2f m\n", taille);
//Vérification du sexe pour une écriture plus correcte
if(sexe == 'h')
{
printf("- Sexe : homme\n\n");
}
else
{
printf("- Sexe : femme\n\n");
}
imc = poids / (taille * taille);
//Correspondance de la corpulence en fonction de l'IMC
if(imc <= 16.5)
{
printf("Votre indice de masse corporelle est de %.1f.\n", imc);
printf("Votre corpulence est qualifiée de famine.\n");
}
else
{
if(imc <= 18.5)
{
printf("Votre indice de masse corporelle est de %.1f.\n", imc);
printf("Votre corpulence est qualifiée de maigreur.\n");
}
else
{
if(imc <= 25)
{
printf("Votre indice de masse corporelle est de %.1f.\n", imc);
printf("Votre corpulence est qualifiée de normale.\n");
}
else
{
if(imc <= 30)
{
printf("Votre indice de masse corporelle est de %.1f.\n", imc);
printf("Votre corpulence est qualifiée de surpoids.\n");
}
else
{
if(imc <= 35)
{
printf("Votre indice de masse corporelle est de %.1f.\n", imc);
printf("Votre corpulence est qualifiée de obésité modéré.\n");
}
else
{
if(imc <= 40)
{
printf("Votre indice de masse corporelle est de %.1f.\n", imc);
printf("Votre corpulence est qualifiée de obésité sévère.\n");
}
else
{
printf("Votre indice de masse corporelle est de %.1f.\n", imc);
printf("Votre corpulence est qualifiée de obésité morbide.\n");
}
}
}
}
}
}
printf("\n");
do
{
printf("Calculez votre poids idéal :\n");
printf("a - formule de Lorents\n");
printf("b - formule de Devine\n");
printf("c - formule de Lorents en tenant compte de l'age\n");
printf("q - quitter le menu de calcul du poids idéal\n");
printf("Votre choix: ");
scanf(" %c", &choixFormule);
//Menu pour choisir le mode de calcul du poids idéal
switch (choixFormule)
{
case 'a':
if(sexe == 'h')
{
}
printf("Votre poids idéal selon la formule de Lorents est de %.1f kg.\n\n", poidsIdeal);
break;
case 'b':
if(sexe == 'h')
{
poidsIdeal = 50 + 2.3 * (taille / 0.0254 - 60);
}
else
{
poidsIdeal = 45.5 + 2.3 * (taille / 0.0254 - 60);
}
printf("Votre poids idéal selon la formule de Devine est de %.1f kg.\n\n", poidsIdeal);
break;
case 'c':
poidsIdeal = 50 + ((taille * 100 - 150) / 4) + ((age - 20) / 4);
printf("Votre poids idéal selon la formule de Lorents en tenant compte de l'age est de %.1f kg.\n\n", poidsIdeal);
break;
case 'q':
printf("Vous avez quitté le menu de calcul du poids idéal.\n");
menu++;
break;
default:
printf("Caractère entré incorrecte. Réessayez.\n\n");
}
}
while (menu == 0);
}