# JavaScript Algorithms and Data Structures Projects - Cash Register

Tell us what’s happening:
Describe your issue in detail here.
yo I need help, where is my mistake?
Your code so far

``````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[1] += moneyUnits[elem[0]]/100  }
if (holder[1]>0){
}
} 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]]);
``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 OPR/91.0.4516.95`

Challenge: JavaScript Algorithms and Data Structures Projects - Cash Register

Link to the challenge:

hi there,
I added some of the missing semi-colons in your code and the following message revealed itself:

Potential infinite loop detected on line 28. Tests may fail if this is not changed.
Potential infinite loop detected on line 25. Tests may fail if this is not changed.

I suggest you add all your missing semi-colons and then you should see this message too.
Then try to examine your loops.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.