로그인 시스템 (3회 실패 시 계정 잠금)
문제 설명:
사용자 ID와 비밀번호를 입력받아 로그인을 처리하는 프로그램을 설계하세요. 비밀번호가 3회 연속 틀릴 경우 계정이 잠금 상태가 됩니다.
학습 포인트:
카운터 변수를 이용한 실패 횟수 추적
조건문과 반복문의 조합
입력/출력 정리
1) 입력:
2) 출력:
- 로그인 성공 메시지
- 비밀번호 오류 메시지
- 실패 횟수 메시지
- 계정 잠금 메시지
3) 상태(계속 들고 있어야 하는 값) :
- inputID: 사용자가 입력한 ID
- inputPassword: 사용자가 입력한 비밀번호
- failCount: 비밀번호 실패 횟수
- userID: 미리 정해진 사용자 ID
- userPassword: 미리 정해진 사용자 비밀번호
조건 정리
1) 종료 조건(끝나는 시점):
- 로그인에 성공했을 때
- 비밀번호의 입력 실패 횟수가 3회가 되었을 때(계정 잠금)
2) 분기 조건(갈라지는 기준):
- 입력한 ID와 비밀번호가 올바른지 여부
- ID와 비밀번호가 모두 일치 -> 로그인 성공
- 하나라도 틀림 -> 실패 처리
3) 예외/에러 조건 (정상 범위):
- ID/PW 입력이 되었는가?
예: 다음 단계
아니오: "값을 입력해주세요"출력 후 다시 입력(failCount 증가 안 함)
- 비밀번호가 틀린 경우
failCount(실패 횟수) 증가
실패 횟수가 3 미만이면 다시 입력
실패 횟수가 3이 되면
계정 잠금 메시지 출력 후 종료
흐름 설계
1) 시작할 때 한 번만:
- 정답 ID와 비밀번호를 미리 설정(기존 계정(ID/PW)이 DB에 저장되어 있다고 가정 - 시스템에 등록된 계정 정보)
- failCount를 0으로 초기화
2) 반복(흐름)
1. 사용자에게 ID와 비밀번호를 입력 받음
2. 입력한 ID와 비밀번호가 정답이랑 일치하는지 확인
- 일치하는 경우
- 로그인 성공 메시지 출력 -> 프로그램 종료
- 일치하지 않는 경우
- failCount(실패 횟수)를 1증가 시킴
- 실패 메시지와 현재 실패 횟수를 출력
- failCount(실패 횟수)가 3인지 확인
- 3 미만이면 다시 로그인 입력 단계로 돌아감
- 3 이면 계정 잠금 메시지 출력
3) 종료할 때
- 로그인 성공 또는 계정 잠금 메시지를 출력
- 프로그램을 종료한다.

문제 설명이 추상적인 부분이 있어 요구사항 해석에 시간을 많이 썼다.