Build a Cash Register Project - Build a Cash Register

Tell us what’s happening:

Describe your issue in detail here.
i dont know where my problem is help please freecodecampers

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>Cash Register App</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <h1>Cash Register App</h1>
<div class="container">
    <h3>Enter cash from customer :</h3>
    <input type="number" id="cash">
    <button id="purchase-btn">Purchase</button>
    <div id="cash-container">
        <h3>change in the Drawer</h3>
    </div>
    <div id="change-due"></div>
</div>
<script src="script.js"></script>  
</body>
</html>
/* file: styles.css */
body{
    background-color: rgb(19, 19, 46);
    color: white;
}
h1{
    text-align: center;
}
.container{
    display: flex;
    align-items: center;
    flex-direction: column;
}
button{
    margin: 7px auto 5px;
    background-color: rgb(209, 59, 13);
    color: white;
    border-radius: 1px;
    padding: 5px 7px 5px;
    border: none;
    cursor: pointer;
}
#cash-container{
    width: 300px;
    background-color: antiquewhite;
    color: black;
    text-align: center;
    border-radius: 10px;
    margin-top: 15px;
}
#change-due{
    background-color: antiquewhite;
    color: black;
    
}
/* file: script.js */
const cashDrawer = document.getElementById("cash-container");
const result = document.getElementById("change-due");

document.getElementById("purchase-btn").addEventListener("click", () => {
    let cash = parseFloat(document.getElementById("cash").value);
    let price = 19.5;

    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 changeResult = checkCashRegister(price, cash, cid);

    if (changeResult.status === "OPEN") {
        result.textContent = `Status: OPEN ${formatChangeResult(changeResult.change)}`;
    } else {
        result.textContent = `<h4>${changeResult.status}</h4>`;
    }
});

// Display the available cash in the drawer
const checkCashRegister = (price, cash, cid) => {
    const UNIT_AMOUNT = {
        "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
    };
    let totalCID = 0;

    for (let element of cid) {
        totalCID += element[1];
    }
    totalCID = parseFloat(totalCID.toFixed(2));
    let changeToGive = cash - price;
    const changeArray = [];

    if (changeToGive > totalCID) {
        return { status: "INSUFFICIENT_FUNDS", change: changeArray };
    } else if (changeToGive.toFixed(2) === totalCID) {
        return { status: "CLOSED", change: cid };
    } else {
        cid = cid.reverse();
        for (let elem of cid) {
            let temp = [elem[0], 0];
            while (changeToGive >= UNIT_AMOUNT[elem[0]] && elem[1] > 0) {
                temp[1] += UNIT_AMOUNT[elem[0]];
                elem[1] -= UNIT_AMOUNT[elem[0]];
                changeToGive -= UNIT_AMOUNT[elem[0]];
                changeToGive = parseFloat(changeToGive.toFixed(2));
            }
            if (temp[1] > 0) {
                changeArray.push(temp);
            }
        }
    }
    if (changeToGive > 0) {
        return { status: "INSUFFICIENT_FUNDS", change: [] };
    }
    return { status: "OPEN", change: changeArray };
};

// Format the change result
const formatChangeResult = (changeArray) => {
    const formattedChange = changeArray.map(([currency, amount]) => `${currency}: $${amount}`).join(" ");
    return formattedChange;
};

Your browser information:

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

Challenge Information:

Build a Cash Register Project - Build a Cash Register

You appear to have created this post without editing the template. Please edit your post to Tell us what’s happening in your own words.

the problem is my code works on vs code but not here in freecodecamp it is showing me that the condition are not satisfied


see the condition is working on the preview but not in freecodecamp

same here. facing the same problem.

stuck for almost a week

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