Tell us what’s happening:
I put this code into the test and it fails, showing what my output should be. The problem I am having with this is I test their input using Visual Studio Code and the program as it is produces the results the test says it should. I don’t understand why this works fine in Visual Studio Code but not in fcc Test area. Any ideas?
**Your code so far**
function checkCashRegister(price, cash, cid) {
var changeDue = ((cash * 100) - (price * 100));
const denomArr = [1, 5, 10, 25, 100, 500, 1000, 2000, 10000];
var result = new Object();
var changeArr = [];
var regCheck = 0;
var denomCheck = 0;
var cashDeduct = 0;
var chngDeduct = 0;
for (let x = cid.length - 1; x >= 0; x--)
{
regCheck += (cid[x][1] * 100);
}
if (regCheck < changeDue)
{
result.status = "INSUFFICIENT FUNDS";
result.change = [];
} else
{
if (regCheck == changeDue)
{
result.status = "CLOSED";
} else
{
result.status = "OPEN";
}
for (let y = cid.length - 1; y >= 0; y--)
{
if (cid[y][1] > 0)
{
regCheck = (cid[y][1] * 100);
denomCheck = denomArr[y];
if (denomCheck < changeDue)
{
if (regCheck <= changeDue)
{
changeDue -= (regCheck);
changeArr.push(cid[y][0]);
changeArr.push(cid[y][1]);
} else if (regCheck > changeDue && denomCheck < changeDue)
{
cashDeduct = Math.floor(changeDue % denomCheck);
chngDeduct = changeDue - cashDeduct;
changeDue -= chngDeduct;
changeArr.push(cid[y][0]);
changeArr.push(chngDeduct / 100);
}
}
}
}
}
result.change = changeArr;
return result;
}
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/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46
Challenge: Cash Register
Link to the challenge: