(Retour à la liste)

D-3. Rendu de monnaie


Le problème du rendu de monnaie est le suivant : étant donné un système monétaire (un ensemble de valeurs de pièces ou billets à disposition) et un montant à rendre, déterminer comment rendre ce montant avec le moins de pièces ou de billets possibles.

Les applications d'une solution à ce problème sont faciles à concevoir : nul n'a envie de récupérer 1 € en pièces de 1 cens s'il s'est aventuré à payer 2 € un bouteille à 1 € au distributeur.

L'objectif de ce projet est de trouver, étant donné un système monétaire et une somme à rendre, une solution convenable (si possible optimale) au problème de rendu de monnaie.

Cahier des charges

Votre programme demande à l'utilisateur de choisir un système monétaire parmi une liste définie et de saisir une somme d'argent (l'unité dépend du système monétaire choisi). Le programme indique alors quelles pièces / billets on doit rendre pour arriver au montant indiqué.

Un des systèmes proposés doit être l'euro, et vous devrez concevoir au moins deux autres systèmes monétaires. Conseil : pour les systèmes avec des centimes tels que l'euro, comptez en centimes.

Exemple d'exécution

Voici un exemple d'exécution de votre programme (le texte affiché par le programme est en bleu, tandis que le texte entré par l'utilisateur est en noir) :

Choisir un système monétaire :
1) Euro (€)
2) Livre britanique (£)
3) Won coréen (₩)
Choix : 1
Montant en cens (centimes d'euros) : 93
Rendu :
1 × 50
2 × 20
1 × 2
1 × 1

Pour aller plus loin (palier 4)

Une fois que vous avez atteint le palier 3 des fonctionnalités, voici quelques idées pour aller plus loin et atteindre le palier 4 :