문제 설명:
간단한 ATM 시스템을 설계하세요. 초기 잔액을 설정하고, 사용자가 입금 또는 출금을 선택할 수 있습니다. 잔액이 0원이 되면 프로그램을 종료합니다.
학습 포인트:
while 루프와 메뉴 선택
잔액 관리 및 종료 조건
1) 입력:
메뉴 선택 값(1: 입금, 2: 출금)
입금 금액 또는 출금 금액
2) 출력:
현재 잔액 출력
입금/출금 결과 메시지 출력
3) 상태(계속 들고 있어야 하는 값) :
balance: 현재 잔액
menu: 사용자 메뉴 선택 값
amount: 입금 또는 출금 금액
1) 종료 조건(끝나는 시점):
잔액이 0원이 되었을 때 프로그램 종료
플로우차트에서는 종료가 2개 있는 이유:
종료 조건은 하나인데, 그 상태에 도달하는 경로가 두 개라서 플로우차트에 종료를 두 곳에 표시함
2) 분기 조건(갈라지는 기준):
사용자가 선택한 메뉴 값
1이면 입금 처리
2이면 출금 처리
3) 예외/에러 조건 (정상 범위):
출금 금액이 잔액보다 크면 출금 불가 메시지 출력 후 메뉴 선택으로 돌아감
1) 시작할 때 한 번만:
초기 잔액을 설정(balance 초기화는 프로그램 시작 시 한 번만 수행되고, balance > 0 조건은 반복을 계속할지 여부를 판단하기 위한 조건)
2) 반복(흐름)
현재 잔액을 출력한다(입금 또는 출금 처리 후에도 현재 잔액을 출력한다)
사용자에게 메뉴를 보여주고 선택을 입력 받음
menu가 1인지 2인지 확인
1인 경우
입금 금액을 입력 받음
balance = balance + amount로 잔액 증가
b. 2인 경우
출금 금액을 입력 받음
출금 금액이 잔액 이하인지 확인
이하면 balance = balance - amount
초과면 출금 불가 메시지 출력
4. 변경된 잔액을 기준으로 반복 조건 다시 검사
3) 종료할 때
잔액이 0원이 되면 반복 종료
프로그램을 종료한다.
