[블체스 Part.3] 230511

이현진·2023년 5월 11일
0

BlockChain School

목록 보기
14/20

오늘은 첫번째 시험날이다!
처음이라 그런지 생각보다 어렵고.. 오래걸렸다...
사실 문제 푸는건 그냥 쭉쭉 풀긴 했는데 fclass 오류 해결하다가 시간이 다 갔다.
SClass도 풀어보긴 했는데 오류가 안없어져서 포기~

아 근데 시험지 이렇게 유출해도 되나요....?
혹시 내일 안된다고 하시면 아무도 모르게 바로 내리겠습니다..!

TEST1

여러분은 선생님입니다. 학생들의 정보를 관리하려고 합니다. 
학생의 정보는 이름, 번호, 점수, 학점 그리고 듣는 수업들이 포함되어야 합니다.

번호는 1번부터 시작하여 정보를 기입하는 순으로 순차적으로 증가합니다.

학점은 점수에 따라 자동으로 계산되어 기입하게 합니다. 90점 이상 A, 80점 이상 B, 70점 이상 C, 60점 이상 D, 나머지는 F 입니다.

필요한 기능들은 아래와 같습니다.

* 학생 추가 기능 - 특정 학생의 정보를 추가
* 학생 조회 기능(1) - 특정 학생의 번호를 입력하면 그 학생 전체 정보를 반환
* 학생 조회 기능(2) - 특정 학생의 이름을 입력하면 그 학생 전체 정보를 반환
* 학생 점수 조회 기능 - 특정 학생의 이름을 입력하면 그 학생의 점수를 반환
* 학생 전체 숫자 조회 기능 - 현재 등록된 학생들의 숫자를 반환
* 학생 전체 정보 조회 기능 - 현재 등록된 모든 학생들의 정보를 반환
* 학생들의 전체 평균 점수 계산 기능 - 학생들의 전체 평균 점수를 반환
* 선생 지도 자격 자가 평가 시스템 - 학생들의 평균 점수가 70점 이상이면 true, 아니면 false를 반환
* 보충반 조회 기능 - F 학점을 받은 학생들의 숫자와 그 전체 정보를 반환
-------------------------------------------------------------------------------
* S반 조회 기능 - 가장 점수가 높은 학생 4명을 S반으로 설정하는데, 이 학생들의 전체 정보를 반환하는 기능 (S반은 4명으로 한정)

기입할 학생들의 정보는 아래와 같습니다.

Alice, 1, 85
Bob,2, 75
Charlie,3,60
Dwayne, 4, 90
Ellen,5,65
Fitz,6,50
Garret,7,80
Hubert,8,90
Isabel,9,100
Jane,10,70

여러분은 선생님입니다. 학생들의 정보를 관리하려고 합니다. 학생의 정보는 이름, 번호, 점수, 학점 그리고 듣는 수업들이 포함되어야 합니다.


나는 매핑을 여기서 해 주었는데 매핑은 아래쪽 문제를 풀 때 필요한 것이기 때문에, 굳이 여기서 해줄 필요는 없다.

mapping(string->Student) mapstudent 로 변경해야 한다.
uint가 아니라 Student형이다.
왜 저때 갑자기 uint로 했을까...

학생 추가 기능 - 특정 학생의 정보를 추가

학점은 점수에 따라 자동으로 계산되어 기입하게 합니다. 90점 이상 A, 80점 이상 B, 70점 이상 C, 60점 이상 D, 나머지는 F 입니다.


함수 선언은 잘 한 것 같다!

학생 전체 숫자 조회 기능 - 현재 등록된 학생들의 숫자를 반환

학생 전체 정보 조회 기능 - 현재 등록된 모든 학생들의 정보를 반환

학생 조회 기능(1) - 특정 학생의 번호를 입력하면 그 학생 전체 정보를 반환

여기까지는 잘 풀었다.
이 다음문제부터는 mapping이 필요한데, 선언을 잘못해서 결과값이 제대로 안나왔다ㅠㅠ

학생 조회 기능(2) - 특정 학생의 이름을 입력하면 그 학생 전체 정보를 반환


나는 이렇게만 작성했다.
특정 학생의 이름을 입력했을 때 그 학생의 전체 정보를 받아오려면
함수 바깥쪽에
mapping(string->Student) mapstudent;
선언하고, getStudent2 안에는
return name_Student[_name];
이렇게 작성해주면 된다.

학생 점수 조회 기능 - 특정 학생의 이름을 입력하면 그 학생의 점수를 반환

여기도 위와 같이 변경해주면 된다.
return mapstudent[_name].score;

학생들의 전체 평균 점수 계산 기능 - 학생들의 전체 평균 점수를 반환


여긴 정답!
원래 아래 문제 풀때 평균값을 변수로 이용하려고 상태변수 선언했었는데 필요없었다..ㅋ....

선생 지도 자격 자가 평가 시스템 - 학생들의 평균 점수가 70점 이상이면 true, 아니면 false를 반환

평균값 구하는 문제 풀 때 average 변수 선언했다가
엥 필요없네 싶어서 다음문제에 안쓰고 이렇게 풀었다.
이것도 정답~!~!

보충반 조회 기능 - F 학점을 받은 학생들의 숫자와 그 전체 정보를 반환


문자열 비교를 하려고 했는데 오류가 나서
그냥 score이 60점 아래인 친구들을 FClass에 넣어주고 값을 받아왔다.
강사님이 keccak256 사용하는 법 알려주셨는데,
이 부분은 내일 SClass 부분과 함께 업로드해야겠다.


시험 다 풀고 풀이도 듣고 나니까 왠지 모르게 너무 피곤하고 집중력이 바닥나더라구요 ..ㅎㅎ
내일은 더 열심히 듣겠습니다..!

profile
https://github.com/lhjbg0821

0개의 댓글