Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
안녕하세요. JoJo입니다.
학생성적관리시스템 구현 완료하여 PR 보냅니다.
기능구현
Student : 구조체로 만들어 성적추가, 삭제, 전체성적, 평점계산 기능을 추가했습니다.
Grade : 성적을 enum타입으로 정리하고 계산 또는 성적을 보여줄때 필요한 값을 얻기 위해 타입함수를 통해 값을 전환하도록 했습니다.
InputManager : 입력값을 정규표현식 등 조건을 사용하여 에러처리 하였습니다.
GradeMangerSystem : 학생이 추가되면 인스턴스를 찍어낼 수 있도록 하였으며, 딕셔너리를 활용하여 학생 추가, 삭제, 성적수정, 성적삭제, 평점조회 기능을 추가하였습니다.
GradeManager : Bool 값을 활용하여 지속 반복 및 종료 하도록 하였습니다.
아쉬운점
데이터 저장 : 저장해야 하는 데이터가 적어서
UserDefaults를 활용하려고 3가지 방법을 적용했지만 모두 실패하였습니다.Student구조체에는Codable프로토콜이 적용되지 않았습니다GradeManagerSystem클래스에서studentDictionary데이터를 저장하려 하였지만 이또한Student구조체를 포함하고 있어서 실패하였습니다.궁금한점
사용자 입력값 처리 : 저는 정규표현식을 활용하여 사용자 입력값을 오류 처리 하였습니다. 만약 데이터에 숫자만 입력되어도 처리가 될텐데.....
ex) 학생이름 : 1234그거 또한 막을 수 있는 방법이 있을까요?̊̈제가 숫자를 추가한 이유는 동명이인 때문이었습니다.
ex) jake1, jake2