Quelle est l'erreur dans ce programme ?
abak
-
malaik5 Messages postés 282 Statut Membre -
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 .
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 .
A voir également:
- Quelle est l'erreur dans ce programme ?
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Message programmé - Guide
- Mettre en veille un programme - Guide
- Desinstaller un programme - Guide
4 réponses
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,
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,