Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

성적관리 프로그램 Bum #27

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

snowy-summer
Copy link

이름 입력

  • .trimmingCharacters(in: .whitespacesAndNewlines).isEmpty 을 통해 공백으로 입력하는 경우를 구분했습니다.
    .contains를 통해 Set에서의 학생의 존재 여부를 확인합니다.

이름 삭제

  • 입력과 동일하게 공백을 확인하고 학생이 존재하면 학생을 삭제합니다.

성적 입력

  • 성적을 입력 받을 때 .components를 이용해 [String]으로 반환해 비교하기 편하게 했습니다.
    성적을 저장은 key값에 "이름 과목", value에 성적을 저장했습니다. 성적을 호출할 경우에 이름과 성적을 동시에 입력하기 때문에 하나의 key값으로 묶었습니다.

성적 삭제

  • key값의 존재 여부 확인 후 삭제를 진행했습니다.

평점 확인

  • 이름의 존재여부 확인 , "이름, 과목" 존재 여부 확인 이후에 성적 평점을 계산했습니다.

종료

  • x,X를 입력하면 프로그램의 작동상황을 나타내는 programRun을 false로 변경해 while문을 끝냈습니다.

고민사항

  • 입력을 받아 올 때 let input = readLine()! 을 사용했는데 이 때 '입력 값이 nil이여서 프로그램이 종료가 나지 않을까?' 였습니다. 실행했을 때 입력을 스페이스, 그냥 엔터를 눌러도 아무런 문제가 없어서 기존의 것을 사용했습니다.

  • 성적 추가할 때 올바른 성적을 입력했는지 확인하기 위해 이렇게 사용했는데 let score = components.contains("A+") || components.contains("A0") || components.contains("B+") || components.contains("B0") || components.contains("C+") || components.contains("C0") || components.contains("D+") || components.contains("D0") || components.contains("F") 가독성을 높이기 위한 다른 방법을 모르겠습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant