Débutant c
FrançoisR
-
FrançoisR -
FrançoisR -
bonjour, je voudrais que quelqu'un m'explique le problème que j'ai. Voici mon programme tt simple :
/*afficher les nombres 123 et 123.456 en les alignants à gauche*/
#include<stdio.h>
main()
{
float x;
x=123.456789;
printf("affichons les valeurs et alignons les à gauche \n");
printf("%-8d \n", x); /*j'affiche x avec %d pour avoir seulement 123*/
printf("%-8.3f\n", x); /*j'affiche x avec %f pour avoir les chiffres après la virgule*/
return 0;
}
Le résultat devrait être :
123
123.456
Le résultat que malheureusement j'ai à chaque fois :
0
123456
Merci pour la réponse . ça doit être tellement simple que ça doit en faire rire certains, mais il faut bien commencer un jour ! :-)
Merci !
/*afficher les nombres 123 et 123.456 en les alignants à gauche*/
#include<stdio.h>
main()
{
float x;
x=123.456789;
printf("affichons les valeurs et alignons les à gauche \n");
printf("%-8d \n", x); /*j'affiche x avec %d pour avoir seulement 123*/
printf("%-8.3f\n", x); /*j'affiche x avec %f pour avoir les chiffres après la virgule*/
return 0;
}
Le résultat devrait être :
123
123.456
Le résultat que malheureusement j'ai à chaque fois :
0
123456
Merci pour la réponse . ça doit être tellement simple que ça doit en faire rire certains, mais il faut bien commencer un jour ! :-)
Merci !
A voir également:
- Débutant c
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Platine dj debutant - Forum Enregistrement / Traitement audio
- Comment utiliser un ordinateur pour un débutant - Astuces et Solutions
9 réponses
Cast ton float c'est ca qui pose probleme:
printf("%-8d \n", (int)x
);
COIN!
printf("%-8d \n", (int)x
);
#include<stdio.h> main() { float x; x=123.456789; printf("affichons les valeurs et alignons les à gauche \n"); printf("%-8d \n", (int)x); /*j'affiche x avec %d pour avoir seulement 123*/ printf("%-8.3f\n", x); /*j'affiche x avec %f pour avoir les chiffres après la virgule*/ return 0; }
COIN!
Salut.
Ecris ça tout simplement
printf("%-8.0f\n", x);
A++
La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD
Ecris ça tout simplement
printf("%-8.0f\n", x);
A++
La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD
Pour compléter la reponse de Canard007.
Tu peux aussi simplement remplacé "%-8d" par "%-8.f".
Ce qui donne : printf("%-8.f \n", x);
Par contre j'ai une question : Pourquoi aligné a gauche ??
Edit : je me suis fait devancer ^^.
Tu peux aussi simplement remplacé "%-8d" par "%-8.f".
Ce qui donne : printf("%-8.f \n", x);
Par contre j'ai une question : Pourquoi aligné a gauche ??
Edit : je me suis fait devancer ^^.
Salut, merci de ta réponse
dans le livre, il n'ont pas appris qu'on pouvait mettre int entre (). Cest comme ci tu déclarais une autre variable. Ca equivaut à déclarer une entière et une flottante ?
dans le livre, il n'ont pas appris qu'on pouvait mettre int entre (). Cest comme ci tu déclarais une autre variable. Ca equivaut à déclarer une entière et une flottante ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
#include <stdio.h>
#include <stdlib.h>
int main()
{
float x;
x = 123.456789;
printf("affichons les valeurs et alignons les à gauche \n");
printf("%3d \n", (int)x);
printf("%.3f\n", x);
return EXIT_SUCCESS;
}
Ca devrait marcher comme ça.
#include <stdlib.h>
int main()
{
float x;
x = 123.456789;
printf("affichons les valeurs et alignons les à gauche \n");
printf("%3d \n", (int)x);
printf("%.3f\n", x);
return EXIT_SUCCESS;
}
Ca devrait marcher comme ça.