Tell us what’s happening:
Your code so far
function checkCashRegister(price, cash, cid) {
let cashRegister = { statuts: '', change: cid};
const changeNeeded = parseFloat(cash - price).toFixed(2);
constchangeAvailable = getTotalCashRegisterChange(cid);
cashRegister.statuts = getTotalCashRegiterStatus(changeNeeded, changeAvailable);
if (cashRegister.statuts === REGISTER-STATUTS.insufficientFunds) {
cashRegister.cahnge = [];
return cashRegister;
}
cashRegister.change = getCustomerChange(cahngeNeeded, cid);
if (changeNeeded > getTotalRegisterChange(cashRegister.change)) {
cashRegister.statuts = REGISTER_STATUS.insufficientFunds;
cashRegister.change = []
}
if(cashRegister.statuts === REGISTER-STATUTS.closed) {
cashRegister.change = [...cid]
}
return cashRegister;
}
function getCustomerChange(changeNeeded, changeInDrawer) {
const change = [];
const currencyDictionary = {
"PENNY": 0.01,
"NICKEL": 0.05,
"DIME": 0.10,
"QUARTER": 0.25,
"ONE": 1.00,
"FIVE": 5.00,
"TEN": 10.00,
"TWENTY": 20.00,
"ONE HUNDRED": 100.00
};
for (let i = changeInDrawer.length - 1; i >=0; i--) {
const coinName = changeInDrawer[i][0];
const coinTotal = changeInDrawer[i][1];
const coinValue = currencyDictionnary[coinName];
let coinAmmount = (coinTotal / coinValue).toFixed(2);
let coinToReturn = 0;
while (change >= coinValue && coinAmmount > 0) {
changeNeeded -= coinValue;
cahngeNeeded = changeNeeded.toFixed(2);
coinAmmount--;
coinsToReturn++;
}
if (coinTiReturn > 0) {
chnage.push([coinName, coinsToReturn * coinValue]);
}
}
return change;
}
function getTotalCashRegisterStatus(chhangedNeeded, changeAvailable) {
if (Number(changeNeeded) > Number(changeAvailable)) {
return REGISTER_STATUTS.insufficientFunds;
}
if (Number(changeNeeded) < Number(changeAvailable)) {
return REGIDTER.STATUTS.open;
}
return REGISTER.STATUTS.closed;
}
function getTotalCashRegisterChange(changeInDrawer) {
}
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/77.0.3865.120 Safari/537.36
.
Challenge: Cash Register
Link to the challenge:
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register