[내일배움캠프 Spring_3기] Flowchart 7일차

jiiim_ni·2026년 1월 27일

로그인 시스템 (3회 실패 시 계정 잠금)

문제 설명:
사용자 ID와 비밀번호를 입력받아 로그인을 처리하는 프로그램을 설계하세요. 비밀번호가 3회 연속 틀릴 경우 계정이 잠금 상태가 됩니다.
학습 포인트:
카운터 변수를 이용한 실패 횟수 추적
조건문과 반복문의 조합

입력/출력 정리

1) 입력:

  • 사용자 ID
  • 사용자 비밀번호

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증가 시킴
    - 실패 메시지와 현재 실패 횟수를 출력
  1. failCount(실패 횟수)가 3인지 확인
  • 3 미만이면 다시 로그인 입력 단계로 돌아감
  • 3 이면 계정 잠금 메시지 출력

3) 종료할 때

  • 로그인 성공 또는 계정 잠금 메시지를 출력
  • 프로그램을 종료한다.

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

0개의 댓글