문제 설명:
간단한 도서관 대출 관리 시스템을 설계하세요. 사용자는 도서를 대출하거나 반납할 수 있으며, 최대 대출 권수 제한과 연체료 계산 기능이 있습니다.
학습 포인트:
메뉴 기반 선택 구조
상태 관리 및 조건부 처리
계산 로직
예외 상황 처리
1) 입력:
2) 출력:
3) 상태(계속 들고 있어야 하는 값) :
1) 종료 조건(끝나는 시점):
menu == 0 선택 시 종료
2) 분기 조건(갈라지는 기준):
3) 예외/에러 조건 (정상 범위):
1) 시작할 때 한 번만:
2) 반복(흐름)
1. 메뉴 화면 출력
2. 메뉴 번호 입력 받기
a. menu == 0 -> 프로그램을 종료
b. menu == 1 -> 대출 처리
- bookID 입력
- 최대 권수 초과 검사
- 대출 목록에 추가, 개수 + 1
- 결과 메시지 출력(대출 성공 실패 여부, 현재 대출 권수(간단 목록) 출력
c. menu == 2 -> 반납 처리
- bookID 입력
- 대출 목록에 있는지 확인
- returnDay 입력
- returnDay >= borrowDay 확인
- 연체일 경우 연체료 계산 후 누적
- 대출 목록에서 제거, 개수 -1
- 결과 메시지 출력(반납 성공 실패 여부, 현재 대출 권수(간단 목록) 출력
d. menu == 3 -> 연체료 확인
- 누적 연체료(totalFee) 출력
3. 그 외는 잘못된 입력입니다 출력
4. 다시 메뉴 화면으로 돌아감
3) 종료할 때
프로그램을 종료한다.

예외처리 부분에서 미흡한 것 같다. 또한 플로우차트가 너무 보기 어렵게 되어 있는 거 같아서 좀 더 깔끔하게 하는 방법을 연습해야 할 것 같다.