라라리라

2023.10.11 / Step 6 [DOM_식권자판기1단계] - 코딩 66 일차 본문

코딩/2023 JavaScript DOM

2023.10.11 / Step 6 [DOM_식권자판기1단계] - 코딩 66 일차

헤실 2023. 10. 11. 17:50
<script>

    /*
        [문제]
            아래 배열은 철수가 소지한 현금 개수이다.
            money는 돈 단위를 뜻하고,
            count는 단위별 개수를 뜻한다.

            거스름돈은 7800일 때,
            단위별로 나눠주고,
            count배열 값을 조정 후 출력하시오.
        [정답]
            count = [1, 1, 0, 0, 2, 7]    
    */

    /*
        [식권 자판기]
        1. 관리자
            1) 식권티켓 재고수량 관리
            2) 화폐종류별 재고수량 관리
        2. 사용자
            1) 구매할 식권티켓 수량
            2) 금액 지불
    */

    let moneyList = [50000, 10000, 5000, 1000, 500, 100];
    let countList = [    1,     1,    1,    1,   5,  10];

    let ticketPrice = 3200;
    let ticketStockCount = 5;

    let userMoney = 10000;      // 1만원권 1장 투입
    let userTicketCount = 1;    // 구매하고자하는 티켓 수량
    let userCountList = [0, 1, 0, 0, 0, 0];
    let charge = userMoney - ticketPrice * userTicketCount;

    /*
        1. 사용자가 구매하려는 티켓의 수량 <= 재고수량
            1-1. 사용자에게 투입해야할 금액을 출력
            1-2. 사용자가 투입한 총 금액 >= 결제해야할 총금액
                1-2-1. 거스름돈 계산하기
                        거스름돈 = 사용자가 투입한 총 금액 - 결제해야할 총금액
                1-2-2. 화폐종류별 재고수량과 거스름돈을 비교해 거스름돈 반환 가능
                       (1) 재고수량 거스름돈만큼 차감
                       (2) 사용자가 투입한 화폐종류 추가
                       (3) 티켓 재고수량 차감
                1-2-2. 화폐종류별 재고수량과 거스름돈을 비교해 거스름돈 반환 불가
                       [메세지] 거스름돈이 부족합니다. 관리자에게 문의해주세요.
            1-3. 사용자가 투입한 총 금액 < 결제해야할 금액
                 [메세지]투입하신 금액이 부족합니다. 다시 이용해주세요.
        2. 사용자가 구매하려는 티켓의 수량 > 재고수량
           [메세지]식권의 수량이 부족합니다. 관리자에게 문의해주세요.
    */

</script>