Lang c

njl -  
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   -
bonsoir a tout
j'ai un probléme dans ce code là (le probléme c que pendant l 'exécution le programme ne retourne pas la valeur de TTC il ne retourne que des zéros .mon code est le suivant:



#include <stdio.h>
#include <stdlib.h>
#define tva 0.02
float pu,qt,mht,remise,mtva,ttc;
int main(int argc, char *argv[])
{
printf(" entrez votre quantite\n");
scanf("%d",&qt);
printf(" entrez pris unitaire\n");
scanf("%f",&pu);
mht=pu*qt;
if(mht<1000)
{remise=0;}
else if(mht>1000 && mht<3000)
{remise=0.2;}
else if(mht>3000 && mht<6000)
{remise=0.4;}
else
{remise=0.06;}
mtva=tva*mht;
mht=mht-remise;
ttc=mtva+mht;
printf(" le taux taxe comprise est:%.2f\n",ttc);
system("PAUSE");
return 0;
}
merci à l'avance

2 réponses

Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
attention :

scanf("%d",&qt);

qt est un float. Soit tu fais %f, soit tu déclares qt comme un int (ce qui serait plus logique, mais c'est un choix)

autre petite remarque à coté : fait attention, si mht vaut exactement 1000 ou exactement 3000 la remise est à 0.06 !


de plus la manière dont tu calcules la remise est bizarre... et "taux taxes comprise", tu voulais dire "le prix toutes taxes comprises" non ?
0
Steefif Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   19
 
#include <stdio.h>
#include <stdlib.h>
#define tva 0.02 /*0.196 en theorie */
INT QT
float pu,mht,remise,mtva,ttc;
int main(int argc, char *argv[])
{
printf(" entrez votre quantite\n");
scanf("%d",&qt);
printf(" entrez priX unitaire\n");
scanf("%f",&pu);
mht=pu*qt;
if(mht<1000)
{remise=0;}
else if(mht>= /*ajout de >=*/ 1000 && mht<3000)
{remise=0.2;}
else if(mht>= /*ajout de >=*/ 3000 && mht<6000)
{remise=0.4;}
else
{remise=0.06;}
mtva=tva*mht; /*calcul de la tva sur le prix normal*/
mht=mht-remise; /*clacul du prix une fois remise
ttc=mtva+mht; /*la tu fait prix = prix avec remise + tva sans remise c'ets bizarre*/
printf(" le PRIX taxe comprise est:%.2f\n",ttc);
system("PAUSE"); /* si c'est du c je vois pas l'interet ==> affichage console */
return 0;
}
0