Skip to content

Latest commit

 

History

History
58 lines (36 loc) · 1.33 KB

File metadata and controls

58 lines (36 loc) · 1.33 KB

자판기

기능 목록

  • 자판기가 보유하고 있는 금액 입력 받기

    • 입력값 검증
      • 숫자인지
      • 10의 배수인지
  • 자판기가 보유하고 있는 금액으로 동전을 무작위로 생성

  • 자판기가 보유하고 있는 동전 출력

  • 상품명, 가격, 수량 입력 받기

    • 입력값 검증
      • 숫자인지
      • 100원 이상인지
      • 10원으로 나누어 떨어지는지
  • 투입 금액 입력 받기

    • 입력값 검증
      • 숫자인지
      • 양수인지
  • 구매할 상품 입력 받기

  • 입력 받은 상품 구매 가능 여부 확인

    • 상품의 품절 여부
    • 잔액이 충분한지
    • 판매하는 상품인지
  • 상품 구매

    • 남은 투입금액 계산
    • 남은 상품 수량 계산
  • 잔돈 반환 여부 확인

    • 잔돈 반환
      • 남은 금액이 남은 상품의 최저 가격보다 적은 경우
      • 모든 상품이 소진된 경우
    • 잔돈 반환 X
      • 상품 추가 구매
  • 잔돈 계산

    • 잔돈 전체 반환 가능 여부 확인
      • 잔돈이 자판기 보유금액보다 금액이 작은 경우 > 전체 반환
      • 잔돈이 자판기 보유금액보다 금액이 큰 경우 > 잔돈으로 반환할 수 있는 금액(보유금액)만 반환
  • 잔돈 출력