Probleme de boucle
Résolu
geni
-
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
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
A voir également:
- Probleme de boucle
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Problème xiaomi redmi note 8t s'allume et s'éteint vibre - Forum Xiaomi
6 réponses
Bonjour
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
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
// Nombre de 100
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,
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.
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.
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question