salut a tous , ici fred, etudiant en informatique de gestion 1ere anné bac .
je poste une question vis a vis d'un probleme que jai rencontré en fesant un code pour un petit programme calulant le bmi donnat une classification selon le resultat .
je m'explique :
j'ntre les données de poid , de taille et le bmi mes donné selon la formule mathematique que jai assigné a cet effet . mais le problemes est dans les IF , en effet des que jatteind une valeur de bmi , les classification inferieures ne s'impriment pas , mais les uperieures s'affichent , ce qui est ennuiant, je sais pertinameten que cela vient du fait que je stipule que des lors ou la valeur du bmi est inferieur , il va l'imprimer . mais je ne sais pas comment traduire le fait quil devrait uniquement saisir des valeurs entre xx et xx ( ce qui resolverais le probleme ).
je vous joint le code source qui sera beaucoup plus parlant
Code C/C++ :
#include <iostream>
int main()
{
float taille,poid,bmi,superficie;
printf ("indiquez votre taille avec la syntaxe suivante \"x,xx\" en metres. \n");
scanf ("%f",&taille);
printf ("indiquez votre poid avec la syntaxe suivante \"xx,xx\" en kilogrammes.\n");
scanf ("%f",&poid);
superficie=taille*taille;
bmi=poid/(taille*taille);
printf ("votre bmi est de: \" %3.2f \", votre surperficie est de: \" %1.2f \" \n",bmi,superficie);
if (bmi<16.5)
printf ("denutrition\n");
if ((bmi==16.5)||(bmi<18.5))
printf ("maigreur\n");
if ((bmi==18.5)||(bmi<25.0))
printf ("corpulence normale\n");
if ((bmi==25)||(bmi<30))
printf("surpoid\n");
if ((bmi==30)||(bmi<35))
printf ("obesité moderé\n");
if ((bmi==35)||(bmi<40))
printf ("obesité severe\n");
if (bmi>=40.0)
printf ("obesité morbide ou massive\n");
}