Besoin d'un petit truc pour du language C
Résolu
Utilisateur anonyme
-
nizar -
nizar -
Bonjour tout le monde ! (ou plutot bonne nuit)
Je viens de commencer a programmer "en language C" avec (l'excellent) tuto de Matheo21.
J'aimerais pour tester un petit prog pour calculer l'imc des gens, voilà mon code (je crois que l'on dit comme ça...):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int p = 0;
double t = 0;
int r = 0;
printf("Quel poids faites-vous?\n");
scanf("%d", &p);
printf("Quelle est votre taille?\n");
scanf("%lf", &t);
r = p / t;
printf("%d /pow(%f, 2) = %d\n\n", p, t, r);
return 0;
}
Tout va bien jusqu'à ce qu'il faille faire le carré de la taille >>>> printf("%d /pow(%f, 2) = %d\n\n", p, t, r); >>>> %d /pow(%f, 2). Quand il m'affiche la réponse il me fait juste %d/%f= ...
J'ai tout essayer mais rien ...
Alors auriez-vous la réponse s'il vous plait.
Merci beaucoup
Je viens de commencer a programmer "en language C" avec (l'excellent) tuto de Matheo21.
J'aimerais pour tester un petit prog pour calculer l'imc des gens, voilà mon code (je crois que l'on dit comme ça...):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int p = 0;
double t = 0;
int r = 0;
printf("Quel poids faites-vous?\n");
scanf("%d", &p);
printf("Quelle est votre taille?\n");
scanf("%lf", &t);
r = p / t;
printf("%d /pow(%f, 2) = %d\n\n", p, t, r);
return 0;
}
Tout va bien jusqu'à ce qu'il faille faire le carré de la taille >>>> printf("%d /pow(%f, 2) = %d\n\n", p, t, r); >>>> %d /pow(%f, 2). Quand il m'affiche la réponse il me fait juste %d/%f= ...
J'ai tout essayer mais rien ...
Alors auriez-vous la réponse s'il vous plait.
Merci beaucoup
A voir également:
- Besoin d'un petit truc pour du language C
- Trier du plus petit au plus grand excel - Guide
- Petit 3 ✓ - Forum Word
- Petit 2 ✓ - Forum Windows
- Petit 9 - Forum Mail
- Comment imprimer une photo en petit ✓ - Forum Photo numérique
3 réponses
Salut
Alors premièrement je te conseillerai de mettre tes 3 variables en 'float' histoire d'être tranquil.
Indiquer les unités est une bonne idée au cas où tu le fais tester à d'autres mais que facultatif.
Ensuite ton expression pour 'r' est fausse puisque tu as mis 'r = p / t;' au lieu de 'r = p / (t*t);'
Et enfin on ne met pas de fonction dans la première partie du printf à part si tu veux que ça s'affiche en tant que texte, mais ça ne sera pas calculé et je préfère quand même écrire (t*t) que pow(t,2) je trouve ça moins long donc au lieu de
'printf("%d /pow(%f, 2) = %d\n\n", p, t, r);'
'printf("%f / %f = %f\n\n", p, t*t, r);'
Ce qui donne à la fin selon mes préférences:
int main(){
float p = 0;
float t = 0;
float r = 0;
printf("Quel poids faites-vous?(Kg)\n");
scanf("%f", &p);
printf("Quelle est votre taille?(m)\n");
scanf("%f", &t);
r = p / (t*t);
printf("%3.2f / %2.2f = %2.2f\n\n", p, t*t, r);
return 0;
}
Normalement ça fonctionne, sans oublier qu'on utilise des "." et pas des ",".
Les chiffres entre le '%' et le 'f' c'est: 'le nombre de chiffres avant la virgule' . 'celui après'
Si t'as un soucis ;)
Alors premièrement je te conseillerai de mettre tes 3 variables en 'float' histoire d'être tranquil.
Indiquer les unités est une bonne idée au cas où tu le fais tester à d'autres mais que facultatif.
Ensuite ton expression pour 'r' est fausse puisque tu as mis 'r = p / t;' au lieu de 'r = p / (t*t);'
Et enfin on ne met pas de fonction dans la première partie du printf à part si tu veux que ça s'affiche en tant que texte, mais ça ne sera pas calculé et je préfère quand même écrire (t*t) que pow(t,2) je trouve ça moins long donc au lieu de
'printf("%d /pow(%f, 2) = %d\n\n", p, t, r);'
'printf("%f / %f = %f\n\n", p, t*t, r);'
Ce qui donne à la fin selon mes préférences:
int main(){
float p = 0;
float t = 0;
float r = 0;
printf("Quel poids faites-vous?(Kg)\n");
scanf("%f", &p);
printf("Quelle est votre taille?(m)\n");
scanf("%f", &t);
r = p / (t*t);
printf("%3.2f / %2.2f = %2.2f\n\n", p, t*t, r);
return 0;
}
Normalement ça fonctionne, sans oublier qu'on utilise des "." et pas des ",".
Les chiffres entre le '%' et le 'f' c'est: 'le nombre de chiffres avant la virgule' . 'celui après'
Si t'as un soucis ;)