- 과목 수는 inputSubNum() 함수에서 연산합니다. 사용자에게 입력받은 과목 수와 에러가 있다면 에러 값을 반환합니다.
- 평균은 average() 함수에서 연산합니다. 평균값과 에러가 있다면 에러 값을 반환합니다.(강제 형 변환 있습니다.)
- main() 함수에서 inputSubNum()와 average() 함수에 대해 각각 에러 값이 있다면 에러 처리를 하는 조건문이 있습니다.
- 과목 수를 0보다 같거나 작게 입력하면 에러 값을 반환합니다. 에러 메시지는 "잘못된 과목 수입니다."입니다.
- 점수를 0보다 작거나 100보다 크게 입력하면 에러 값을 반환합니다. 에러 메시지는 "잘못된 점수입니다."입니다.
- panic() 함수를 사용하여 문제를 해결합니다.
- 에러 값은 errors.New(), fmt.Errorf() 모두 사용 가능합니다.
- 패닉이 발생하면 recover() 함수로 복구해 에러 메시지를 출력하고 정상 종료합니다.
입력
첫 번째 줄에 과목 수를 입력합니다. 잘못된 수를 입력하면 입력이 종료됩니다.
과목 수 다음 줄에는 과목 점수들을 입력합니다. 각 점수는 개행합니다. 잘못된 점수를 입력하면 입력이 종료됩니다.
출력
점수들의 평균을 float64형으로 출력합니다.
잘못된 과목 수를 입력하면 "잘못된 과목 수입니다."를 출력합니다.
잘못된 점수를 입력하면 "잘못된 점수입니다."를 출력합니다.