Monnaie que doit rendre un caissier

genidou Messages postés 10 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 9 décembre 2008 - 17 mars 2008 à 19:31
mad_love_disease Messages postés 64 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 1 juillet 2010 - 18 mars 2008 à 07:29
voila ce que je dois faire:

Écrire un programme capable de calculer le nombre de billets minimal par un caissier lors d'un retrait d'argent d'un client.

Ce dernier doit:
-lire le montant d'argent et le valider
(entre 50 (inclus) et 1000 (exclus) dollars et multiple de 10)
-calculer et afficher les details concernant ce montant:
nombre de billets de 100,50,20 et 10

voila ce que j'ai fais:


#include <stdio.h>
void main ()
{
// Variables

int cash, //montant que l'utilisateur veut retirer
nb10=0, //nombre de 10 a rendre
nb20=0, //nombre de 20 a rendre
nb50=0, //nombre de 50 a rendre
nb100=0; //nombre de 100 a rendre


// Entrée du montant par l'utilisateur
do
{
printf ("Entrez le montant que vous desirez retirer: ");
scanf ("%d\n", &cash);
if ( cash < 50 || cash >= 1000 || cash % 10 != 0 );
printf ("Erreur, le montant n'est pas valide, recommencez \n");
printf ("Entrez le montant que vous desirez retirer: ");
scanf ("%d\n", &cash);
}
while ( cash < 50 || cash >= 1000 || cash % 10 != 0 );



// calcul

do
{
cash-100;
nb100++;
}
while (cash >= 100);
cash = cash%100;

do
{
cash-50;
nb50++;
}
while (cash >= 50);
cash = cash%50;

do
{
cash-20;
nb20++;
}
while (cash >= 20);
cash = cash%20;

do
{
cash-10;
nb10++;
}
while (cash >= 10);
cash = cash%10;





// Affichage des resultats

printf (" Le retrait total est : %d", cash);
printf (" \n Vous retirez donc:\n");
printf (" Nombre de billets de 100$ : %d", nb100);
printf (" Nombre de billets de 50$ : %d", nb50);
printf (" Nombre de billets de 20$ : %d", nb20);
printf (" Nombre de billets de 10$ : %d", nb10);

getch();
}

Mais ca ne fonctionne pas :( j'ai besoin d'aide

1 réponse

mad_love_disease Messages postés 64 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 1 juillet 2010 3
18 mars 2008 à 07:29
Hum,

Je pense que ton raisonnement est juste quant a l'ecriture du programme, c'est la maniere la plus simple de compter ces billets que le caissier doit rendre.
Cependant il serait bon de revoir quelques bases en algorithmie et ouvrir un bouquin de C.

Pense d'abord au boucle dite infinie et apres tu trouveras les autres erreurs tout seul, bon courage.

Mad Love disease
0
Rejoignez-nous