블록체인 학습
0 XP

Chapter 8 마무리 테스트

이번 챕터에서 배운 struct 를 한 번에 점검합니다. 주제는 학교 현장에서 바로 떠올릴 수 있는 학생 성적부(Gradebook) 입니다. 한 학생은 이름, 점수, 합격 여부라는 세 값을 함께 가지므로 struct 로 묶기에 알맞고, 학생이 여러 명이므로 struct 배열 로 관리하며, 점수에 따라 합격/불합격을 계산해서 저장해야 합니다.

이번 테스트에서 확인하는 것

  • struct 선언과 여러 타입(string, uint256, bool) 의 필드 조합
  • struct 배열 에 push 로 요소 추가하기
  • 조건식 결과(bool) 를 struct 필드에 그대로 저장하기 (_grade >= 60)
  • struct 를 함수 반환값(returns (Student memory))으로 돌려주기

이 네 가지를 모두 엮으면, 실제 서비스에서 흔히 쓰는 "조건 판정 + 목록 저장 + 조회" 패턴이 완성됩니다.

해야 할 일:

  1. Gradebook 컨트랙트 안에 Student struct 를 선언하세요.
    • string name
    • uint256 grade
    • bool passed
  2. Student 타입의 public 동적 배열 students 를 선언하세요.
  3. addStudent(string memory _name, uint256 _grade) 함수를 구현하세요.
    • grade 가 60 이상이면 passed 를 true, 아니면 false 로 설정해 push 하세요.
  4. getStudent(uint256 _index) 함수로 해당 학생 struct 를 반환하세요. (returns (Student memory))
  5. studentCount() 함수로 학생 수를 반환하세요. (returns (uint256))

조건식 결과(_grade >= 60)는 bool 값이므로 그대로 passed 필드에 넣을 수 있습니다.

완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.

Code Editor
에디터를 불러오는 중...
실행 결과

Run 버튼을 눌러 코드를 실행하세요.