Giter Club home page Giter Club logo

monnaie's Introduction

Algorithme Rendue Monnaie en PHP

Objectif : Créer une fonction en PHP qui calcule le nombre minimum de billets et pièces à rendre au client en fonction d'un prix à payer et du montant donné par le client.

Énoncé :

Vous êtes en charge de développer un algorithme pour un système de caisse qui doit rendre la monnaie au client lorsque ce dernier paie un certain montant pour un produit ou un service. L'algorithme doit être écrit en PHP et prendra en compte les billets et pièces suivants pour effectuer le rendu de monnaie :

Billets disponibles : 200€, 100€, 50€, 20€, 10€, 5€

Pièces disponibles : 2€, 1€, 50cts, 20cts, 10cts, 5cts, 2cts, 1cts

Votre tâche consiste à créer une fonction nommée rendreMonnaie qui prendra deux paramètres en entrée :

  1. Le prix à payer en euros (un nombre entier ou à virgule flottante).
  2. Le montant donné par le client en euros (un nombre entier ou à virgule flottante).

La fonction devra calculer la somme à rendre et déterminer le nombre minimum de billets et pièces à rendre au client en utilisant les valeurs disponibles listées ci-dessus. L'algorithme devra utiliser les billets et pièces de valeurs croissantes pour minimiser leur nombre tout en rendant la somme exacte.

Enfin, la fonction devra afficher le résultat sous la forme suivante :

Montant à rendre : [montant à rendre en euros] €
Nombre de [billets/pièces] de [valeur] € : [nombre]

Exemple : Supposons que le prix à payer soit 175€ et que le client donne 200€. La fonction devra indiquer qu'il faut rendre 1 billet de 20€ et 1 billet de 5€.

Note : Assurez-vous que le montant donné par le client est suffisant pour couvrir le prix à payer. Vous pouvez supposer que les valeurs fournies seront cohérentes et positives.

monnaie's People

Contributors

vincentsureau avatar

Watchers

 avatar

monnaie's Issues

Plan de test

Tests à implémenter pour l'algorithme "Rendue Monnaie" :

Test 1 : RendreMonnaie avec un montant donné suffisant

Given that:

  • Le prix à payer est de 126€.
  • Le montant donné par le client est de 200€.

When:

  • On appelle la fonction rendreMonnaie($prixAPayer, $montantDonne).

Then:

  • La fonction devrait afficher :
Montant à rendre : 75 €
Nombre de billets de 50 € : 1
Nombre de billets de 20 € : 1
Nombre de pièces de 2 € : 2

Test 2 : RendreMonnaie avec un montant donné exact

Given that:

  • Le prix à payer est de 38.50€.
  • Le montant donné par le client est de 38.50€.

When:

  • On appelle la fonction rendreMonnaie($prixAPayer, $montantDonne).

Then:

  • La fonction devrait afficher :
Montant à rendre : 0 €

Test 3 : RendreMonnaie avec un montant donné insuffisant

Given that:

  • Le prix à payer est de 27.80€.
  • Le montant donné par le client est de 20€.

When:

  • On appelle la fonction rendreMonnaie($prixAPayer, $montantDonne).

Then:

  • La fonction ne devrait émettre une exception le montant donné est insuffisant.

Test 4 : RendreMonnaie avec un prix à payer égal à zéro

Given that:

  • Le prix à payer est de 0€.
  • Le montant donné par le client est de 10€.

When:

  • On appelle la fonction rendreMonnaie($prixAPayer, $montantDonne).

Then:

  • La fonction devrait afficher :
Montant à rendre : 10 €

avec le détail des pièces et billets rendus.


Test 5 : RendreMonnaie avec des valeurs décimales

Given that:

  • Le prix à payer est de 49.75€.
  • Le montant donné par le client est de 100€.

When:

  • On appelle la fonction rendreMonnaie($prixAPayer, $montantDonne).

Then:

  • La fonction devrait afficher :
Montant à rendre : 50.25 €
Nombre de billets de 50 € : 1
Nombre de pièces de 20 cts : 1
Nombre de pièces de 5 cts : 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.