[블체스 Part.3] 230510

이현진·2023년 5월 10일
0

BlockChain School

목록 보기
13/20

230509 복습

contract Review1 {
    struct Student {
        string name;
        uint number;
        string[] classes;
    }

    Student[] students;
    function setstudents(string memory _name, uint _number, string[] memory _classes) public {
        students.push(Student(_name, _number, _classes));
    }

    function getstudents(uint _n) public view returns(Student memory) {
        return students[_n-1];
    }

    function getName(uint _n) public view returns(string memory) {
        return students[_n-1].name;
    }

    mapping(string => Student[]) Teacher;

    function pushStudent(string memory _Teacher, string memory _name, uint _number, string[] memory _classes) public {
        Teacher[_Teacher].push(Student(_name, _number, _classes));
    }

    function pushStudent2(string memory _teacher, uint _n, uint _number) public {
        Teacher[_teacher][_n-1].number = _number;
    }

    function getStudent(string memory _Teacher) public view returns(Student[] memory) {
        return Teacher[_Teacher];
    }
}

If문

if 문은 for문과 다르게 조건에 따라 다른 동작을 하는 특징이 있다.
for문은 조건에 따라 같은 동작을 반복한다.

점수가 50점 이상이면 P, 아니면 F를 반환

짝수면 even, 홀수면 odd array에 추가

3으로 나누었을 때, 나머지가 1이면 A, 2이면 B, 3이면 C 배열에 넣기


enum

enum 은 변하지 않음, 상태값으로 표현 가능하다.

array는 안의 값이 변하는 것임 , 초기값 설정 안되어있으면 000

contract ENUM {
    enum Food {
        Chicken,
        Sushi,
        Bread,
        Coconut
    }

    Food a;
    Food b;
    Food c;

    function setA() public {
        a = Food.Chicken;
    }

    function setB() public {
        b = Food.Sushi;
    }

    function setC() public {
        c = Food.Bread;
    }

    function getABC() public view returns(Food, Food, Food) {
        return(a, b, c);
    }

    function getABC2() public view returns(uint8, uint8, uint8) {
        return (uint8(a), uint8(b), uint8(c));
    }
}

✔️ 내일까지 비트코인 백서 읽어오기
✔️ 내일 코테 두번!! (오전에 한 번, 오후에 한 번)

profile
https://github.com/lhjbg0821

0개의 댓글