- 상품 탐색
카테고리 기반 구조: 가전, 의류, 식품 등 대분류를 먼저 선택한 후 해당 상품 리스트를 조회합니다.
상세 정보 열람: 상품의 이름, 가격, 재고, 설명을 확인합니다.
-
장바구니 주문: 장바구니에 담은 상품과 총 가격을 확인하고 주문합니다. 주문취소: 장바구니를 비웁니다.
-
프로그램 종료(0) 프로그램을 종료한다. 인터페이스 방식 : 콘솔 기반
- 정수가 아닌 문자열 등의 값이 들어왔을 때 : "올바르지 않은 입력입니다. 숫자를 입력해주세요." 출력
- 범위 밖의 정수가 입력 되었을 때 : "범위 안 숫자를 입력해주세요." 출력
- 재고가 부족한데 장바구니에 담으려는 경우 : "재고가 부족합니다." 출력
- Product: 상품의 원천 데이터를 담는 클래스. (이름, 가격, 설명, 재고)
- Category: 관련 상품들을 그룹화하며, 카테고리명을 관리
- Customer: 사용자 정보 및 등급 산정 로직을 포함하는 클래스
- CommerceSystem: 프로그램의 전체 흐름(메뉴 출력, 입력 처리, 화면 전환)을 제어
- ProductRepository: 초기 데이터를 생성하고 공급하는 저장소 역할의 클래스
- StockManager: 재고관리 시스템 클래스
- CartItem: 장바구니에 담길 상품(상품 정보, 수량)을 관리하는 클래스
- Cart: 장바구니에 담긴 상품을 관리하는 클래스
- 출력할 문장의 공백을 맞추는 것. 글자수는 전부 다른데, 줄을 어떻게 맞출까? -> printf의 필드 폭 지정 기능을 사용해서 해결.