1. 학생 구조체를 정의하고 구조체 변수를 선언한 후 데이터를 입력받고 출력

    #include <stdio.h>
    
    struct Student 
    {
        //이름
        //학번
        //6과목의 점수
    };
    
    int main() 
    {
        //구조체 변수 선언 및 값 초기화
        
    		//출력
        
        return 0;
    }
    
  2. 학생 구조체 배열을 선언하고 데이터를 입력받아 구조체에 저장하고 출력

    #include <stdio.h>
    
    struct Student 
    {
        //이름
        //학번
        //6과목의 점수
    };
    
    int main()
    {
        //구조체 배열 선언
        
        //데이터 입력 받기
        
        //데이터 출력 하기
        
        return 0;
    }
    
  3. 구조체 포인터 변수 선언하고 메모리 할당하여 데이터 입력받고 출력

    #include <stdio.h>
    
    struct Student 
    {
        //이름
        //학번
        //6과목의 점수
    };
    
    int main() 
    {
        //구조체 포인터 변수 선언
        
        //메모리 할당
        
        //데이터 입력받기
        
        //출력하기
        
        //메모리 해제
    
        return 0;
    }
    
  4. 구조체 데이터를 출력하는 함수를 따로 작성

    #include <stdio.h>
    
    struct Student 
    {
        //이름
        //학번
        //6과목의 점수
    };
    
    void print_struct()
    {
    
    }
    
    int main() 
    {
        //구조체 포인터 변수 선언
        
        //메모리 할당
        
        //데이터 입력받기
        
        //출력하기 >> 따로 함수로 작성
        
        //메모리 해제
    
        return 0;
    }
    
  5. 주소 구조체를 추가로 정의하고 학생 구조체에 주소 정보를 추가로 저장, 출력

    #include <stdio.h>
    
    struct Address
    {
       //시
       //구
       //도로명
    }
    struct Student 
    {
        //이름
        //학번
        //6과목의 점수
        //주소 추가
    };
    
    void print_struct()
    {
    
    }
    
    int main() 
    {
        //구조체 포인터 변수 선언
        
        //메모리 할당
        
        //데이터 입력받기
        
        //출력하기 >> 따로 함수로 작성
        
        //메모리 해제
    
        return 0;
    }
    
  6. 회원 정보를 저장할 구조체를 정의하고, 회원 정보를 입력받고 출력

    #include <stdio.h>
    
    struct member {
        char id[31];
        // 이름, 생년월일 + 주민등록번호 뒤 1자리, 연락처(핸드폰번호), 직업(학생, 직장인 등)
        // 나이 자동계산, 성별 자동계산
           
    };
    
    int main() 
    {
        //구조체 변수 선언
        
        //입력받기
        
        //입력받은 정보로 나이, 성별 계산
        
        //입력받은 정보 중 연락처는 유효성 검증
        //유효한 연락처 입력받을 때까지
        
        //회원가입 성공하면
        //id를 랜덤 생성, 영문대문자, 소문자, 숫자로 이루어진 30글자 문자열 생성
        
        //회원가입 및 id 생성까지 완료한 회원정보 출력, 별도의 함수로 작성
            
        return 0;
    }
    
  7. 6번 문제를 응용하여 회원을 최대 10명만큼 저장할 수 있도록 수정한다. 10명의 회원정보를 랜덤 데이터로 구성한다. 전체 회원을 모두 출력한다.

열거형

enum enum_name
{
	enum1=1, enum2, enum3 // ... 열거형 상수
};

void print_enum(enum enum_name en);

int main()
{
	enum enum_name en;
	
	for (en=enum1; en<=enum3; en++)
	{
			print_enum(en);
	}
	
	return 0;
}

void print_enum(enum enum_name en)
{
	switch(en)
	{
		case enum1 :
			printf("enum1 입니다.\\n");
			break;
	  case enum2 :
			printf("enum2 입니다.\\n");
			break;
	  case enum3 :
			printf("enum3 입니다.\\n");
			break;
		default:
		  printf("정의되지 않은 값입니다\\n");
		  break;
	}
}

열거형 vs 선행처리기 vs const