Tell us what’s happening:
Can someone please tell me what’s wrong? i pass all the tests except 15 and 19, been on this for at least 3 hours.
Your code so far
<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Conversions</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<input type="number" id="cash">
<button type="button" id="purchase-btn">Purchase</button>
<div id="change-due"></div>
<script src="script.js"></script>
</body>
</html>
/* file: script.js */
let price = 3.26;
let drawerStatus = "";
let inputInt = 0;
let change = 0;
let changeArr = [0,0,0,0,0,0,0,0,0];
let cid =[["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]];
const countCash = () => {
let result = 0;
for (let i = 0; i < cid.length; i++) {
result += cid[i][1];
}
return result.toFixed(2);
}
const countChangeMade = () => {
let result = 0.00;
for (let i = 0; i < changeArr.length; i++) {
result += changeArr[i];
}
return result.toFixed(2);
}
const input = document.getElementById("cash");
const button = document.getElementById("purchase-btn");
const out = document.getElementById("change-due")
const makeMsg = () => {
// console.log(countCash(), 0)
// console.log(countCash() <= 0)
// console.log(inputInt === price.toFixed(2))
let outStr = ""
if(inputInt === price.toFixed(2)) {
outStr = "No change due - customer paid with exact cash ";
} else if(countChangeMade() < change){
outStr = "Status: INSUFFICIENT_FUNDS "
} else {
outStr = countCash() <= 0? "Status: CLOSED" : "Status: OPEN";
changeArr[8] > 0 ? outStr += ` ONE HUNDRED: $${changeArr[8]}`:false;
changeArr[7] > 0 ? outStr += ` TWENTY: $${changeArr[7]}`:false;
changeArr[6] > 0 ? outStr += ` TEN: $${changeArr[6]}`:false;
changeArr[5] > 0 ? outStr += ` FIVE: $${changeArr[5]}`:false;
changeArr[4] > 0 ? outStr += ` ONE: $${changeArr[4]}`:false;
changeArr[3] > 0 ? outStr += ` QUARTER: $${parseFloat(changeArr[3])}`:false;
changeArr[2] > 0 ? outStr += ` DIME: $${parseFloat(changeArr[2].toFixed(2))}`:false;
changeArr[1] > 0 ? outStr += ` DIME: $${parseFloat(changeArr[1].toFixed(2))}`:false;
changeArr[0] > 0 ? outStr += ` PENNY: $${parseFloat(changeArr[0].toFixed(2))}`:false;
}
// outStr += "</p>"
out.textContent = outStr;
}
const countChange = (number) => {
number = number.toFixed(2)
while(number > 0) {
if(number >= 100 && cid[8][1]>=100){
changeArr[8] += 100
number -= 100;
cid[8][1] -= 100;
countChange(number);
}else if(number >= 20 && cid[7][1]>=20){
changeArr[7] += 20
number -= 20;
cid[7][1] -= 20
countChange(number);
}else if(number >= 10 && cid[6][1]>=10){
changeArr[6] += 10
number -= 10;
cid[6][1] -= 10;
countChange(number);
}else if(number >= 5 && cid[5][1]>=5){
changeArr[5] += 5
number -= 5;
cid[5][1] -=
countChange(number);
}else if(number >= 1 && cid[4][1]>=1){
changeArr[4] += 1
number -= 1;
cid[4][1] -=
countChange(number);
}else if(number >= 0.25 && cid[3][1]>=0.25 ){
changeArr[3] += 0.25
number -= 0.25;
cid[3][1] -= 0.25
countChange(number);
}else if(number >= 0.1 && cid[2][1]>=0.1){
changeArr[2] += 0.1
number -= 0.1;
cid[2][1] -= 0.1
countChange(number);
}else if(number >= 0.05 && cid[1][1]>=0.05){
changeArr[1] += 0.05
number -= 0.05;
cid[1][1] -=0.05
countChange(number);
} else if(number >= 0.01 && cid[0][1] != 0){
changeArr[0] += 0.01
number -= 0.01;
cid[0][1] -=0.01
countChange(number);
}
return
}
}
const checkUserInput = () => {
inputInt = Number(input.value).toFixed(2);
change = (inputInt- price.toFixed(2)).toFixed(2)
// console.log("input: "+ inputInt + " price.toFixed(2): "+price.toFixed(2)+ " change: "+change)
// console.log(inputInt === price.toFixed(2))
if(inputInt < price) {
alert("Customer does not have enough money to purchase the item");
return;
}
countChange((inputInt) - price.toFixed(2));
makeMsg();
input.value = "";
changeArr = [0,0,0,0,0,0,0,0,0]
};
button.addEventListener("click", checkUserInput)
/* file: styles.css */
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 OPR/118.0.0.0 (Edition Yx 05)
Challenge Information:
Build a Cash Register Project - Build a Cash Register