Sauriez-vous m'aider à compléter mon algorithme

Signaler
Messages postés
152
Date d'inscription
mardi 4 novembre 2008
Statut
Membre
Dernière intervention
10 avril 2017
-
Messages postés
152
Date d'inscription
mardi 4 novembre 2008
Statut
Membre
Dernière intervention
10 avril 2017
-
Salut tout le monde,

Je vous explique mon problème :

J'ai une machine à café, j'y insère 1,15 euro, je voudrais cliquer sur le bouton "Récupérer mon argent" pour récupérer les 1,15 Euro.

Ma machine à café est reliée à une base de données access qui contient une table avec la monnaie :

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /><title>monnaie</title><caption>monnaie</caption>----
id |nom |valeur |stock |----
1, 2 €, 2, 17, ----
2, 1 €, 1, 8, ----
3, 50 cents, 0,5, 13, ----
4, 20 cents, 0,2, 45, ----
5, 10 cents, 0,1, 11, ----
6, 5 cents, 0,05, 9, ----
7, 2 cents, 0,02, 10, ----
8, 1 cent, 0,01, 10, <tfoot></tfoot>

Donc quand j'ajoute une pièce, le stock s'incrémente (j'ai réussi à le faire) par contre, je me demande quel algorithme je pourrais mettre en œuvre pour que la machine me remette 1,15 Euro :

Il faudrait que :

- On sélectionne toutes les pièces inférieures à ce que la machine doit ?
- Décrémenter le stock de pièce dès que une a été remise

Ma question est la suivante :

Sauriez-vous compléter cet algorithme afin que la machine remette une pièce de 1 Euro, 1 pièce de 10 centimes et une pièce de 5 centimes.

Je bloque.

Merci d'avance et bon réveillon.

beegees

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Salut
Algorithme est un bien grand mot, disons méthode :
Tu dois composer 1.15 euros avec les pièces disponibles :
- Faire une requète pour lister, par ordre décroissant, les pièces disponibles dont le stock est supérieur à 0 (comme dans ton tableau)
Ensuite, tu fais une boucle :
- Je prends la valeur de la 1ère pièce
- Je fais 1.15 - la valeur de cette pièce
   - Si le résultat est positif, je garde la pièce
      et je décrémente le nombre de pièces de ce type
   - Si el résultat est négatif, je choisis la pièce suivante
- Je recommence depuis le début avec le reste (1.15 - la pièce retenue)
      jusqu'à ce que le résultat soit 0
Si je ne parviens pas au résultat 0, c'est que je n'ai pas les pièces nécessaires --> Passer en mode "Je ne rends pas la monnaie"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
152
Date d'inscription
mardi 4 novembre 2008
Statut
Membre
Dernière intervention
10 avril 2017
1
Salut Jack,

Un super grand merci pour ton explication.

Je vais suivre ton algo et je reviens pour te dire quoi (j'suis pas du nord, non)

@ demain et bon réveillon à toi.

beegeezzzz