Cash register function
Function call:
Returns:
I created this function as a requirement for my freeCodeCamp JavaScript Algorithms and Data Structures Certification. Output isn’t terribly human-readable, but, well, human-readable wasn’t part of the requirements. I suppose cash registers don’t really speak English, though, so I guess that’s okay. Here are the requirements I built to:
- Design a cash register drawer function
checkCashRegister()that accepts purchase price as the first argument (price), payment as the second argument (cash), and cash-in-drawer (cid) as the third argument. cidis a 2D array listing available currency.- The
checkCashRegister()function should always return an object with astatuskey and achangekey. - Return
{status: "INSUFFICIENT_FUNDS", change: []}if cash-in-drawer is less than the change due, or if you cannot return the exact change. - Return
{status: "CLOSED", change: [...]}with cash-in-drawer as the value for the keychangeif it is equal to the change due. - Otherwise, return
{status: "OPEN", change: [...]}, with the change due in coins and bills, sorted in highest to lowest order, as the value of thechangekey.