JavaScript Algorithms and Data Structures Projects - Cash Register

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

https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register

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:

1 Like
  //holder -= moneyUnits[elem[0]]/100
    holder[1] += moneyUnits[elem[0]] / 100;
	

it is subtracting the value of the currency unit from the holder array instead of adding it

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