Quelle est l'erreur dans ce programme ?

abak -  
malaik5 Messages postés 282 Statut Membre -
Bonjour,
Je crois qu'il y a une erreur dans ce programme mais je ne sais pas laquelle, pouvez-vous m'aider ?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
double taille = 0.000;
double poids = 0.000;
double resultat1 = 0.000;
double resultat2 = 0.000;

printf("Combien mesurez-vous ?");
scanf("%f, &taille");
printf("Et combien pesez-vous ?");
scanf("%f, &poids");

resultat1 = taille*taille;
resultat2 = poids/resultat1;

if (resultat2 <= 18)
{
printf("Votre IMC est de %f, vous êtes trop maigre !", resultat2);
}

else if (resultat2 > 18 && <= 25)
{
printf("Votre IMC est de %f, votre corpulence est tout à fait normale.", resultat2);
}

else if (resultat2 > 25 && <= 30)
{
printf("Votre IMC est de %f, vous êtes en surpoids !", resultat2);
}

else if (resultat2 > 30 && <= 40)
{
printf("Votre IMC est de %f, vous êtes en obésité modérée.", resultat2);
}

else
{
printf("Votre IMC est de %f, vous êtes en obésité morbide.", resultat2);
}

return = 0;

}

Merci d'avance .

4 réponses

fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Bonjour,
Plusieurs erreurs :
scanf("%f, &taille");
Attention au placement des guillemets : scanf("%lf", &taille);
Oui, c'est bien %lf (L minuscule) et non %f qu'il faut mettre puisque taille est de type double. Pour les printf, en revanche, il faut bien laisser %f.

else if (resultat2 > 18 && <= 25)
Comme KX : ça ne veut rien dire. Il faut mettre : if (resultat2 > 18 && resultat2 <=25). Ou encore mieux : if (resultat2 <=25).
Il n'y a pas besoin de mettre resultat2 > 18 puisque tu as mis un elseif. Tu as donc la garantie d'avoir resultat2 > 18.

return = 0;
return 0; ça sera beaucoup mieux.
Et je te conseille de mettre un putchar('\n'); juste avant le return 0; pour sauter une ligne et flusher la sortie.

Cdlt,
1
KX Messages postés 19031 Statut Modérateur 3 020
 
Le "return = 0" n'est pas bon, et les instructions "&& <=" ne veulent rien dire...
Mais ton compilateur doit te l'indiquer ça !
0
abak
 
Merci beaucoup pour vos réponses rapides, je vais en tenir compte !
0
malaik5 Messages postés 282 Statut Membre 33
 
Bonjour,
Commence par corriger les scanf comme indiqué par fiddy et ça va régler deja pas mal de tes problemes

bon courage
0