Probleme de "IF" dans mon algo recherche aide SVP [Résolu]

Signaler
Messages postés
5
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
23 janvier 2011
-
Messages postés
5
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
23 janvier 2011
-
Bonjour à tous,
Je suis débutant en programmation en langage C.
Mon programmme consiste à réaliser une billeterie de spectacle dans laquelle l'utilisateur saisit le nbre de places, le nbre de place enfants ainsi que le montant initial des places. Pour 1 enfant on a pllique une réduction de 10% pour 2 20% et pour 3 30%.

Mon programme fonctionne bien pour 1 enfants mais pas pour 2 ou 3. Je pense que mon problème vient de IF mais je ne sais pas comment le régler. Je suis preneur de toutes vso idées !!
merci d'avance

voici le code

#include
#include<stdio.h>

void main(void)

{
int quantite,nbre_enf,place_adulte;
float prixinit,montantotal,montant_enf,montant_adulte ;


Cls();

printf("Bonjour!!! Veuillez saisir le nombre de place adultes: \n ");
scanf("%i",&place_adulte);

printf("Veuillez saisir le nombre de places enfants : \n ");
scanf("%i",&nbre_enf);

printf("Veuillez sasir le prix initial de vos billets plein tarif : \n");
scanf("%f",&prixinit);



if (nbre_enf == 1)

{
montant_enf = prixinit - (0.1*prixinit); // permet de calculer la redction de 10% pour 1 enfant
montant_adulte= place_adulte*prixinit; // calcul total des places adultes
montantotal=montant_adulte+montant_enf ; // montant total place adulte + place enfant
printf("Le montant total à régler après reduction est de : \n %f\n",montantotal);
}


if (nbre_enf == 2)

{

montant_enf = prixinit - (0.2*prixinit); // permet de calculer la redction de 20% pour 2 enfants
montant_adulte= place_adulte*prixinit; // calcul total des places adultes
montantotal=montant_adulte+montant_enf ; // montant total place adulte + place enfant
printf("Le montant total à régler après reduction est de : \n %f\n",montantotal);
}



if (nbre_enf == 3)

{

montant_enf = prixinit - (0.3*prixinit); // permet de calculer la redction de 30% pour 3 enfant
montant_adulte= place_adulte*prixinit; // calcul total des places adultes
montantotal=montant_adulte+montant_enf ; // montant total place adulte + place enfant
printf("Le montant total à régler après reduction est de : \n %f\n",montantotal);
}



}

2 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Bête multiplication, pas besoin de IF
#include
#include<stdio.h>

int main(int argc, char* argv[])

{
int quantite,nbre_enf,place_adulte;
float prixinit,montantotal,montant_enf,montant_adulte ;


Cls();

printf("Bonjour!!! Veuillez saisir le nombre de place adultes: \n ");
scanf("%i",&place_adulte);

printf("Veuillez saisir le nombre de places enfants : \n ");
scanf("%i",&nbre_enf);

printf("Veuillez sasir le prix initial de vos billets plein tarif : \n");
scanf("%f",&prixinit);


montant_enf = prixinit - (nbre_enf/10*prixinit); // permet de calculer la redction de 10% par enfant
montant_adulte = place_adulte * prixinit; // calcul total des places adultes
montantotal = montant_adulte + montant_enf ; // montant total place adulte + place enfant
printf("Le montant total à régler après reduction est de : \n %f\n",montantotal);

return 0;
} 


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
5
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
23 janvier 2011

Effectivement s'était tout bête !!
Un grand merci