2020년 1월 18일 토요일

enum을 사용하여 간단하게 switch case문 구현하기

enumeration data type(열거 데이터 유형)

enum은 아래와 같은 데이터 유형을 사용한다.

enum 열거형 이름 {원소1=1, 원소2, 원소3, 원소4, ····, 원소n} 변수1, ···, 변수n;

다음 예제는 enum을 사용하여 switch case를 구현한 예제 코드 이다.

웹컴파일러 : https://www.onlinegdb.com/

(예제코드)

#include <stdio.h>

enum xSTAGE_Filter_t {Step1_Standby=1, Step2_Calcuration, Step3_Run, Step4_Reset} xStage_Filter;

int nCount = 0;

int main()
{
    xStage_Filter = Step1_Standby;
    while(1)
    {
        nCount++;
        switch(xStage_Filter)
        {
            case Step1_Standby:
                printf("Stage = %d[%d]\n", xStage_Filter,nCount);
                xStage_Filter = Step2_Calcuration;
                break;
            case Step2_Calcuration:
                printf("Stage = %d[%d]\n", xStage_Filter,nCount);
                xStage_Filter = Step3_Run;
                break;
            case Step3_Run:
                printf("Stage = %d[%d]\n", xStage_Filter,nCount);
                xStage_Filter = Step4_Reset;
                break;
            case Step4_Reset:
                printf("Stage = %d[%d]\n", xStage_Filter,nCount);
                xStage_Filter = Step1_Standby;
                break;
        }     
    }
}

(실행결과)
Stage = 1 [1]
Stage = 2 [2]
Stage = 3 [3]
Stage = 4 [4]
Stage = 1 [5]
Stage = 2 [6]
Stage = 3 [7]
Stage = 4 [8]
Stage = 1 [9]
....
....

[C++] 연습문제 1-2

 /****************************************************************************** - 피트(feet)를 인치(inch)로 변환시켜주는 프로그램을 작성 - 사용자로부터 피트를 입력받아 인치로...