Besoin d'aide c++

Bonjour,
spv il y'a quelque chose qui n'est pas correcte dans ce programme et je n'arrive pas à le detecter

#include <stdio.h>

float taux(char x){
float ttva;
if(x=='A') ttva=0.25;
else if(x=='B') ttva=0.20;
else if(x=='C') ttva=0.05;
return ttva;
}

char lirechar(){
char y;
getchar();
while(y!='a' && y!='b' && y!='c'){
printf(" veuillez tapez le type de classe [A / B / C] :");
scanf("%c",&y);
}
return y;
}

float calculprix(float q, float pu, char x){
float mttc ,tva, phtx,ttva;
ttva=taux(x);
phtx=q*pu;
tva=phtx*ttva;
mttc=phtx+tva;

return mttc;
}

void main(){
float mottc,pu,q;
char c;

printf(" entrer la quantitee :");
scanf("%f",&q);
printf(" entrer le prix unitaire :");
scanf("%f",&pu);
c=lirechar();
mottc=calculprix(q,pu,c);
printf(" le montant ttc est .........%f\n",mottc);
}

merci d'avance
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Ton probleme c'est que dans la fonction Taux() tu dois changer les lettres de x en miniscule parce que le langange C est sensible à la casse:

    float taux(char x){
    float ttva;
    if(x=='a') ttva=0.25;
    else if(x=='b') ttva=0.20;
    else if(x=='c') ttva=0.05;
    return ttva;
    }


    p.s. ça c'est du langage C!!
    1
    1. salut y'a pas de message erreur c'est juste que le resultat est erroné ça donne du n'importe koi
      0
      1. Ton probleme c'est que dans la fonction Taux() tu dois changer les lettres de x en miniscule parce que le langange C est sensible à la casse:

        float taux(char x){
        float ttva;
        if(x=='a') ttva=0.25;
        else if(x=='b') ttva=0.20;
        else if(x=='c') ttva=0.05;
        return ttva;
        }

        p.s. ça c'est du langage C!!
        0
      2. Contributeur
        0
    2. yeeeees merciiiiiiii mister progfann vous avez raison j'ai pas fait attention a la casse
      0