C : calcul de l'IMC en console : au secours !
Résolu
kiback
Messages postés
259
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, je suis toutoutout nouveau en programmation, et j'ai voulu créer un petit programme qui permet de calculer l'imc à partir du poids et de la taille... seulement, la variable "imc" me renvoie toujours 0...
Quelqu'un peut-il m'aider ?
PS : oui, je sais, c'est pas bien organisé, mais comme je l'ai dit, je suis tout débutant !!
COPIER-COLLER DU CODE :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
long imc=0, poids=0, taille=0;
printf("***************************** CALCULEZ VOTRE IMC *****************************\n\n");
printf("Entrez votre taille (en cm) : \n\n");
scanf("%ld", &taille);
printf("\n");
printf("Entrez votre poids : \n\n");
scanf("%ld", &poids);
printf("\n");
imc=poids/pow(taille, 2);
printf("Votre IMC est de %ld. \n", imc);
if (imc <16.5)
printf("Denutrition : Attention, vous etes en danger ! Consultez un specialiste aussi tot que possible !");
else if (imc <=18.5)
printf("Maigreur : Vous feriez bien de reprendre quelques kilos...");
else if (imc <=25)
printf("Corpulence normale : Tout va bien, votre poids est parfait !");
else if (imc <=30)
printf("Surpoids : Un regime s'impose...");
else if (imc <=35)
printf("Obesite moderee : Attention ! Le poids, c'est la sante et vous etes obese... Une consultaion chez un medecin est recommendee !");
else if (imc <=40)
printf("Obesite severe : Vous etes tres serieusement en surpoids, un consultation s'impose...");
else if (imc >=41)
printf("Obesite morbide ou massive : Attention, vous etes largement au-dele du poids normal, l'echelon le plus eleve de l'IMC, CONSULTEZ UN SPECIALISTE DANS LES PLUS BREFS DELAIS !!!!");
else if (imc == 0)
printf("Je suis desole, le programme doit bugger ! Envoyez-moi un message a baptiste.candellier@laposte.net");
system("PAUSE");
return 0;
}
Quelqu'un peut-il m'aider ?
PS : oui, je sais, c'est pas bien organisé, mais comme je l'ai dit, je suis tout débutant !!
COPIER-COLLER DU CODE :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
long imc=0, poids=0, taille=0;
printf("***************************** CALCULEZ VOTRE IMC *****************************\n\n");
printf("Entrez votre taille (en cm) : \n\n");
scanf("%ld", &taille);
printf("\n");
printf("Entrez votre poids : \n\n");
scanf("%ld", &poids);
printf("\n");
imc=poids/pow(taille, 2);
printf("Votre IMC est de %ld. \n", imc);
if (imc <16.5)
printf("Denutrition : Attention, vous etes en danger ! Consultez un specialiste aussi tot que possible !");
else if (imc <=18.5)
printf("Maigreur : Vous feriez bien de reprendre quelques kilos...");
else if (imc <=25)
printf("Corpulence normale : Tout va bien, votre poids est parfait !");
else if (imc <=30)
printf("Surpoids : Un regime s'impose...");
else if (imc <=35)
printf("Obesite moderee : Attention ! Le poids, c'est la sante et vous etes obese... Une consultaion chez un medecin est recommendee !");
else if (imc <=40)
printf("Obesite severe : Vous etes tres serieusement en surpoids, un consultation s'impose...");
else if (imc >=41)
printf("Obesite morbide ou massive : Attention, vous etes largement au-dele du poids normal, l'echelon le plus eleve de l'IMC, CONSULTEZ UN SPECIALISTE DANS LES PLUS BREFS DELAIS !!!!");
else if (imc == 0)
printf("Je suis desole, le programme doit bugger ! Envoyez-moi un message a baptiste.candellier@laposte.net");
system("PAUSE");
return 0;
}
11 réponses
Essaye:
double imc=0, poids=0, taille=0;
scanf("%lf", &taille);
scanf("%lf", &poids);
printf("Votre IMC est de %lf. \n", imc);
double imc=0, poids=0, taille=0;
scanf("%lf", &taille);
scanf("%lf", &poids);
printf("Votre IMC est de %lf. \n", imc);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
----> biboo : j'ai pas trop compris, là...
----> scaravenger : j'ai modifié, et maintenant ça m'affiche 0.001911 ...
----> scaravenger : j'ai modifié, et maintenant ça m'affiche 0.001911 ...
J'ai refait ton boulot à ta place:
double imc=0, poids=0, taille=0;
printf("***************************** CALCULEZ VOTRE IMC *****************************\n\n");
printf("Entrez votre taille (en cm) : \n\n");
scanf("%lf", &taille);
printf("\n");
printf("Entrez votre poids : \n\n");
scanf("%lf", &poids);
printf("\n");
imc=poids/pow(taille/100, 2);
ou
imc=poids/(taille*taille/10000);
printf("Votre IMC est de %lf. \n", imc);
taille en cm si exprimée en m par la suite dans les calculs.
Apprends à lire ta doc.
double imc=0, poids=0, taille=0;
printf("***************************** CALCULEZ VOTRE IMC *****************************\n\n");
printf("Entrez votre taille (en cm) : \n\n");
scanf("%lf", &taille);
printf("\n");
printf("Entrez votre poids : \n\n");
scanf("%lf", &poids);
printf("\n");
imc=poids/pow(taille/100, 2);
ou
imc=poids/(taille*taille/10000);
printf("Votre IMC est de %lf. \n", imc);
taille en cm si exprimée en m par la suite dans les calculs.
Apprends à lire ta doc.
merci scaravenger, ça marche !
par contre fiddy, ton astuce ne marche pas et me met des caractères bizarres en résultat...
Pour ceux qui liraient ce post et qui n'auraient pas compris, il fallait juste entrer la taille en mètres !..
par contre fiddy, ton astuce ne marche pas et me met des caractères bizarres en résultat...
Pour ceux qui liraient ce post et qui n'auraient pas compris, il fallait juste entrer la taille en mètres !..
Oui, bah avec moi ça ne marche pas... mais avec la solution de scaravenger le problème est résolu !!
Eh bien, soit t'as mal testé ce que j'ai dit, soit t'as un compilateur qui ne respecte pas la norme.
Voilà, le programme avec un un scanf sur un double.
Enfin bref, si ton cas est résolu, c'est le principal.
Voilà, le programme avec un un scanf sur un double.
#include <stdio.h> int main(void) { double t; printf("t="); scanf("%f",&t); printf("t=%lf",t); return 0; }
Enfin bref, si ton cas est résolu, c'est le principal.