오늘은 첫번째 시험날이다!
처음이라 그런지 생각보다 어렵고.. 오래걸렸다...
사실 문제 푸는건 그냥 쭉쭉 풀긴 했는데 fclass 오류 해결하다가 시간이 다 갔다.
SClass도 풀어보긴 했는데 오류가 안없어져서 포기~
아 근데 시험지 이렇게 유출해도 되나요....?
혹시 내일 안된다고 하시면 아무도 모르게 바로 내리겠습니다..!
여러분은 선생님입니다. 학생들의 정보를 관리하려고 합니다.
학생의 정보는 이름, 번호, 점수, 학점 그리고 듣는 수업들이 포함되어야 합니다.
번호는 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로 했을까...
함수 선언은 잘 한 것 같다!
여기까지는 잘 풀었다.
이 다음문제부터는 mapping이 필요한데, 선언을 잘못해서 결과값이 제대로 안나왔다ㅠㅠ
나는 이렇게만 작성했다.
특정 학생의 이름을 입력했을 때 그 학생의 전체 정보를 받아오려면
함수 바깥쪽에
mapping(string->Student) mapstudent;
선언하고, getStudent2 안에는
return name_Student[_name];
이렇게 작성해주면 된다.
여기도 위와 같이 변경해주면 된다.
return mapstudent[_name].score;
여긴 정답!
원래 아래 문제 풀때 평균값을 변수로 이용하려고 상태변수 선언했었는데 필요없었다..ㅋ....
평균값 구하는 문제 풀 때 average 변수 선언했다가
엥 필요없네 싶어서 다음문제에 안쓰고 이렇게 풀었다.
이것도 정답~!~!
문자열 비교를 하려고 했는데 오류가 나서
그냥 score이 60점 아래인 친구들을 FClass에 넣어주고 값을 받아왔다.
강사님이 keccak256
사용하는 법 알려주셨는데,
이 부분은 내일 SClass 부분과 함께 업로드해야겠다.
시험 다 풀고 풀이도 듣고 나니까 왠지 모르게 너무 피곤하고 집중력이 바닥나더라구요 ..ㅎㅎ
내일은 더 열심히 듣겠습니다..!