Tell us what’s happening:
NEED HELP!
I am trying to figure out the main problem about cash register. I don’t know how to write algorithm for giving change back in certain coins and bills. That is under test 2 and 3. You can see what I have done so far but more is too difficult.
Please if anyone can help me and give more instructions I would be grateful. Thanks
Your code so far
var payment = [
{ name: 'ONE HUNDRED', val: 100.00},
{ name: 'TWENTY', val: 20.00},
{ name: 'TEN', val: 10.00},
{ name: 'FIVE', val: 5.00},
{ name: 'ONE', val: 1.00},
{ name: 'QUARTER', val: 0.25},
{ name: 'DIME', val: 0.10},
{ name: 'NICKEL', val: 0.05},
{ name: 'PENNY', val: 0.01}
];
function checkCashRegister(price, cash, cid) {
var result = {status : "", change: []}
var change = cash - price;
var register = cid.reduce(function(acc, curr) {
acc += curr[1];
return acc;
}, 0.0);
if(register === change){
result.status = "CLOSED"
result.change = cid
return result
}
if(register < change){
result.status = "INSUFFICIENT_FUNDS"
return result
}
console.log()
// Here is your change, ma'am.
}
// Example cash-in-drawer array:
// [["PENNY", 1.01],
// ["NICKEL", 2.05],
// ["DIME", 3.1],
// ["QUARTER", 4.25],
// ["ONE", 90],
// ["FIVE", 55],
// ["TEN", 20],
// ["TWENTY", 60],
// ["ONE HUNDRED", 100]]
checkCashRegister(19.5, 20, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]]);
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
.
Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register/