Problème valeurs variables en C
Résolu/Fermé
Censured_51
Messages postés
304
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
10 mars 2010
-
13 juin 2009 à 20:28
mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 - 10 mars 2010 à 11:59
mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 - 10 mars 2010 à 11:59
A voir également:
- Problème valeurs variables en C
- Excel liste de valeurs - Guide
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
- Excel intervalle entre 2 valeurs ✓ - Forum Excel
- Nuage de points excel 4 variables - Forum Excel
4 réponses
poukkid
Messages postés
106
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
11 avril 2012
11
13 juin 2009 à 21:14
13 juin 2009 à 21:14
Salut,
Plusieurs erreurs :
tu crée un nombre "réel" avec
(jusque là tout va bien)
Ensuite tu essaye de mettre un entier dedans :
(La déjà ya un petit probleme)
serait plus correct
et enfin le plus important : tu veux l'afficher avec %ld, or %ld permet d'afficher des long entiers
%l définit le caractère "long"
et ensuite pour un entier c'est %d
pour un double ou float c'est %f (pour un long double ca serait %lf )
donc ici ce n'est pas non plus un long double, donc tu devrais utiliser %f
en résumé :
Pour info :
Plusieurs erreurs :
tu crée un nombre "réel" avec
double nombre
(jusque là tout va bien)
Ensuite tu essaye de mettre un entier dedans :
nombre = 5;
(La déjà ya un petit probleme)
nombre = 5.0;
serait plus correct
et enfin le plus important : tu veux l'afficher avec %ld, or %ld permet d'afficher des long entiers
%l définit le caractère "long"
et ensuite pour un entier c'est %d
pour un double ou float c'est %f (pour un long double ca serait %lf )
donc ici ce n'est pas non plus un long double, donc tu devrais utiliser %f
en résumé :
int main(int argc, char *argv[]) { double nombre = 5.0; printf("le nombre est %f\n\n",nombre); system("pause"); return 0; }
Pour info :
Type printf() scanf() char %c %d %i %c short %hd %d %i %hd int %d %i %d %i long %ld %ld float %e %f %g %e %f %g double %e %f %g %le %lf %lg long double %Le %Lf %Lg %Le %Lf %Lg
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
14 juin 2009 à 02:24
14 juin 2009 à 02:24
Ensuite tu essaye de mettre un entier dedans...
Non en C on a part de loin mais on a quand même des opérateurs de cast implicite... Il peut donc tout à fait écrire :
Préciser la décimale n'a un intérêt en C que quand tu fais intervenir une constante dans un calcul (donc pas au travers d'une variable), car selon que tu mettes les décimales ou pas, la constantes interprétée en tant qu'entier ou en tant que flottant. Du coup il peut s'ensuivre une suite de casts implicites désagréables.
Ceci dit ça même si ça ne nuit pas ici, ça ne coûte rien de mettre une décimale.
Pour le reste je suis d'accord. Sachant que cette question a déjà été traitée ici :
http://www.commentcamarche.net/forum/affich 12864782 operatins mathematiqus en c#3
Enfin il reste quelques soucis dans ton programme (ce qui est marrant c'est que ceux évoqués ici) :
http://www.commentcamarche.net/forum/affich 12864782 operatins mathematiqus en c#5
Bonne chance
Non en C on a part de loin mais on a quand même des opérateurs de cast implicite... Il peut donc tout à fait écrire :
double x = 5;
Préciser la décimale n'a un intérêt en C que quand tu fais intervenir une constante dans un calcul (donc pas au travers d'une variable), car selon que tu mettes les décimales ou pas, la constantes interprétée en tant qu'entier ou en tant que flottant. Du coup il peut s'ensuivre une suite de casts implicites désagréables.
Ceci dit ça même si ça ne nuit pas ici, ça ne coûte rien de mettre une décimale.
Pour le reste je suis d'accord. Sachant que cette question a déjà été traitée ici :
http://www.commentcamarche.net/forum/affich 12864782 operatins mathematiqus en c#3
Enfin il reste quelques soucis dans ton programme (ce qui est marrant c'est que ceux évoqués ici) :
http://www.commentcamarche.net/forum/affich 12864782 operatins mathematiqus en c#5
Bonne chance
Censured_51
Messages postés
304
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
10 mars 2010
25
10 mars 2010 à 11:37
10 mars 2010 à 11:37
Merci à vous !
Mais depuis le temps j'avais déjà trouvé l'erreur ;)
Bonne journée
Mais depuis le temps j'avais déjà trouvé l'erreur ;)
Bonne journée
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
10 mars 2010 à 11:59
10 mars 2010 à 11:59
De rien, bonne continuation !