Probleme de boucle

Résolu
geni -  
 geni -
Bonjour,
voila je dois programme un genre de guichet... l'utilisateur entre son montant, et la machine lui dit bon jte dois tant de 100, de 50, de 20 et de 10... voila que je suis pris avec un probleme ... le voila:
lorsque je le test

Entrez le montant que vous desirez retirer: 500


Le retrait total est de : 500 $
Vous retirez donc:
1 billets de 100$

le nombre de billets de 100 devrait etre 5!!! je connais le probleme mais je ne sais pas comment le resoudre...


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

int cash, //montant que l'utilisateur veut retirer
reste,
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", &cash);
}
while ( cash < 50 || cash >= 1000 || cash %10 !=0);

printf (" \n\nLe retrait total est de : %d $", cash);
printf (" \nVous retirez donc:\n");


// Nombre de 100

while (cash <= 100);
{
cash-100;
nb100++;
printf ("%d billets de 100$",nb100);
}

cest qu'il entre dans ma boucle while... mais il en sors tout de suite ...
AIDEZ MOI SVP

6 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

peut être
cash -= 100; 
au lieu de
cash-100; --

lami20j
0
geni
 
Non toujours pas :(
0
le père
 
Bonjour

 while (cash <= 100); 
{ 
cash-100; 
nb100++; 
printf ("%d billets de 100$",nb100); 
} 


1 - while (cash <= 100)
tu es sûr du sens de ton test ? remaque que sans cette erreur, tu aurais une boucle infinie...

2 - pas de ; après le while ! sinon, ta bocle c'est seulement le ; pas ce qui est compris entres les { }
3 -
cash-=100;
car cash-100; seul ne modifie pas cash.

4- printf à l'extérieur de la boucle, sinon tu vas cérire 1 ouis 2 puis 3 etc à chaque passage
0
le père
 
et pardon pour les nombreuses fautes de frappe, je fatigue, moi...
0
ericleclerc1985 Messages postés 644 Date d'inscription   Statut Membre Dernière intervention   289
 
// Nombre de 100

while (cash <= 100);
{
cash-100;
nb100++;
printf ("%d billets de 100$",nb100);
} 



1. Ton printf se retrouve à l'intérieur de ta boucle while, donc, affichera plusieurs fois ton message.
2. cash = cash-100;
3. while (cash >= 100) // sans ; et plus grand ou égal


Donc,

while (cash >= 100) {
 cash = cash - 100;
 nb100++;
} 
printf ("%d billets de 100$",nb100);




J'espère que ceci t'aidera.
Je ne fait que de la programmation PHP et de microcontroleur Microchip CCS, donc, il se peut que je sois dans l'erreur.
0
SebManfred Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   128
 
salut,
au lieu de "cash-100;" mets "cash = cash-100;", sans quoi je ne vois pas comment tu peux tester ta valeur de sortie
sors aussi le "printf ("%d billets de 100$",nb100);" de ta boucle while, sinon tu vas l'afficher autant de fois que ce que tu auras de billets
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le père
 
Il y a des sujets qui inspirent tout le monde ;-) ...
0
geni
 
MERCI MERCI MERCI
0