Chapter 8 마무리 테스트
이번 챕터에서 배운 struct 를 한 번에 점검합니다.
주제는 학교 현장에서 바로 떠올릴 수 있는 학생 성적부(Gradebook) 입니다.
한 학생은 이름, 점수, 합격 여부라는 세 값을 함께 가지므로 struct 로 묶기에 알맞고,
학생이 여러 명이므로 struct 배열 로 관리하며, 점수에 따라 합격/불합격을 계산해서 저장해야 합니다.
이번 테스트에서 확인하는 것
struct선언과 여러 타입(string,uint256,bool) 의 필드 조합struct 배열에push로 요소 추가하기조건식 결과(bool)를struct필드에 그대로 저장하기 (_grade >= 60)struct를 함수 반환값(returns (Student memory))으로 돌려주기
이 네 가지를 모두 엮으면, 실제 서비스에서 흔히 쓰는 "조건 판정 + 목록 저장 + 조회" 패턴이 완성됩니다.
해야 할 일:
Gradebook컨트랙트 안에Studentstruct 를 선언하세요.string nameuint256 gradebool passed
Student타입의 public 동적 배열students를 선언하세요.addStudent(string memory _name, uint256 _grade)함수를 구현하세요.grade가 60 이상이면passed를true, 아니면false로 설정해 push 하세요.
getStudent(uint256 _index)함수로 해당 학생 struct 를 반환하세요. (returns (Student memory))studentCount()함수로 학생 수를 반환하세요. (returns (uint256))
조건식 결과(_grade >= 60)는 bool 값이므로 그대로 passed 필드에 넣을 수 있습니다.
완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.