C : calcul de l'IMC en console : au secours !
Résolu/Fermé
kiback
Messages postés
259
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
30 mai 2010
-
6 mai 2009 à 15:44
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 mai 2009 à 22:42
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 mai 2009 à 22:42
11 réponses
scaravenger
Messages postés
2685
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
30 janvier 2015
616
6 mai 2009 à 16:11
6 mai 2009 à 16:11
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);
kiback
Messages postés
259
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
30 mai 2010
39
6 mai 2009 à 16:14
6 mai 2009 à 16:14
Ca change, mais pas en mieux : http://img5.hostingpics.net/pics/633805Capturer.jpg
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
scaravenger
Messages postés
2685
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
30 janvier 2015
616
6 mai 2009 à 16:17
6 mai 2009 à 16:17
J'avais oublié printf("Votre IMC est de %lf. \n", imc);
en résumé lf partout
en résumé lf partout
kiback
Messages postés
259
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
30 mai 2010
39
6 mai 2009 à 16:20
6 mai 2009 à 16:20
----> 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 ...
kiback
Messages postés
259
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
30 mai 2010
39
6 mai 2009 à 16:32
6 mai 2009 à 16:32
il affiche 225000.000000
scaravenger
Messages postés
2685
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
30 janvier 2015
616
6 mai 2009 à 17:52
6 mai 2009 à 17:52
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.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
6 mai 2009 à 20:47
6 mai 2009 à 20:47
Salut
scanf("%lf", &poids);
Non. Pour un double dans le scanf, il faut utiliser %f.
Ce qui donne : scanf("%f", &poids);
Cdlt
scanf("%lf", &poids);
Non. Pour un double dans le scanf, il faut utiliser %f.
Ce qui donne : scanf("%f", &poids);
Cdlt
kiback
Messages postés
259
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
30 mai 2010
39
7 mai 2009 à 15:49
7 mai 2009 à 15:49
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 !..
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
7 mai 2009 à 20:37
7 mai 2009 à 20:37
ton astuce ne marche pas
Ce n'est pas une astuce. C'est le C ^^. Je faisais la remarque par rapport au code de scaravenger qui est bon à part la petite remarque que j'ai faite.
Lorsque ta variable est double : scanf("%f",&variable);
Ce n'est pas une astuce. C'est le C ^^. Je faisais la remarque par rapport au code de scaravenger qui est bon à part la petite remarque que j'ai faite.
Lorsque ta variable est double : scanf("%f",&variable);
kiback
Messages postés
259
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
30 mai 2010
39
7 mai 2009 à 21:08
7 mai 2009 à 21:08
Oui, bah avec moi ça ne marche pas... mais avec la solution de scaravenger le problème est résolu !!
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
7 mai 2009 à 22:42
7 mai 2009 à 22:42
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.