Tell us what’s happening:
Describe your issue in detail here.
Your code so far
Hi please advice where i have gone wrong
please see link
function checkCashRegister(price, cash, cid) {
let change = cash*100 - price*100;
let cidTotal = 0
for (let elem of cid){
cidTotal += elem[1]*100
}
if(change > cidTotal){
return {status: "INSUFFICIENT_FUNDS", change: []}
}else if (change === cidTotal){
return {status: "CLOSED", change:cid}
}else{
let answer = []
cid=cid.reverse()
let moneyUnits = {"ONE HUNDRED":10000, "TWENTY": 2000,"TEN": 1000, "FIVE": 500, "ONE": 100, "QUARTER": 25,"DIME":10,"NICKEL": 5, "PENNY":1};
for(let elem of cid){
let holder = [elem[0],0]
elem[1]=elem[1]*100
while (change >= moneyUnits[elem[0]] && elem[1] > 0){
change -= moneyUnits[elem[0]]
elem[1] -= moneyUnits[elem[0]]
holder -= moneyUnits[elem[0]]/100
}
if (holder[1]>0){
answer.push(holder)
}
if (change > 0){ return {status: "INSUFFICIENT_FUNDS", change: []}
}
return{status: "OPEN", change: [answer]
}
}
}
}
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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36
Challenge: JavaScript Algorithms and Data Structures Projects - Cash Register
Link to the challenge: