Programmation en C avec Turbo C 2.0
Denbarr
-
GUYZO.pas -
GUYZO.pas -
Salut,suite à mon 1er cours de programmation en C, j'essaie de faire tout seul un programme en C à priori simple: calculer un montant ttc d'après le montant ht et la tva.
Voila ce que j'ai écris:
main()
{
int ht,tva,ttc;
clrscr();
printf("montant ht=\n");
scanf("%d",&ht);
printf("tva=\n");
scanf("%d",&tva);
printf("le montant ttc est donc de %d",ht+ht*tva);
}
Quand je lance mon programme, il me calcule bien la somme totale seulement si la tva est un nombre entier comme 2 par exemple. Dés que je mets le vrai montant de la TVA, cela ne marche pas.
Qu'est ce qui ne va pas dans ce que j'ai écris ?
Voila ce que j'ai écris:
main()
{
int ht,tva,ttc;
clrscr();
printf("montant ht=\n");
scanf("%d",&ht);
printf("tva=\n");
scanf("%d",&tva);
printf("le montant ttc est donc de %d",ht+ht*tva);
}
Quand je lance mon programme, il me calcule bien la somme totale seulement si la tva est un nombre entier comme 2 par exemple. Dés que je mets le vrai montant de la TVA, cela ne marche pas.
Qu'est ce qui ne va pas dans ce que j'ai écris ?
A voir également:
- Programmation en C avec Turbo C 2.0
- Net framework 2.0 - Télécharger - Divers Utilitaires
- Turbo pascal - Télécharger - Édition & Programmation
- Seedance 2.0 - Guide
- Teams 2.0 - Accueil - Messagerie instantanée
- Application programmation - Guide
9 réponses
Dans le printf tu as oublié le "%f" parce qu'avec "%d" la variable va être lu tel un entier or un nombre à virgule flottante ne s'écrit absolument pas de la même forme qu'un entier au niveau binaire.
Salut!
Il y a 2 type de variable en C:
- les entiers (unsigned/signed int, etc)
- les nombres à virgules flottante (float, double, etc)
Il est évident que si tu stock dans un entier le calcul se fera sur des entiers.
Il y a 2 type de variable en C:
- les entiers (unsigned/signed int, etc)
- les nombres à virgules flottante (float, double, etc)
Il est évident que si tu stock dans un entier le calcul se fera sur des entiers.
Salut Guki,
Merci pour ta réponse. Suite à ton message, j'ai changé la première ligne de mon programme:
int ht,ttc;
float tva;
clrscr();
printf("montant ht=\n");
scanf("%d",&ht);
printf("tva=\n");
scanf("%f",&tva);
printf("le montant ttc est donc de %d",ht+ht*tva);
Maintenant, quand j'éxécute le programme, il me donne toujours un montant de TVA égal à 0.
Je sais plus quoi faire pour remedier à ce problème.
Merci pour ta réponse. Suite à ton message, j'ai changé la première ligne de mon programme:
int ht,ttc;
float tva;
clrscr();
printf("montant ht=\n");
scanf("%d",&ht);
printf("tva=\n");
scanf("%f",&tva);
printf("le montant ttc est donc de %d",ht+ht*tva);
Maintenant, quand j'éxécute le programme, il me donne toujours un montant de TVA égal à 0.
Je sais plus quoi faire pour remedier à ce problème.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai istallé le programe c,mais quand je fais un programme il s'affiche un msg d'erreur "unable to open stdio.h",c koi mon pb