Month 출력 : enum data type 을 이용하여 JAN, FEB, .. 등의 값을 갖도록 하여 switch 문을 구성하고,
사용자 입력이 1, 즉 JAN 인 경우, “January 는 31일 입니다” 를 출력
#include<stdio.h>
int main()
{
enum month {JAN=1 , FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC };// 처음에 1로 여기서 선언을 해줘야 한다.
// enum = month, 이렇게 '=' 를 붙이면 안된다.
// enum = 연속된 숫자에 이름을 부여할 수 있는 기능이다.
// 아무것도 부여하지 않을 경우 0부터 1씩 차례로 값이 부여된다.
// 열거체명을 이해서 열거체 타입의 변수를 선언도 가능하다.
// ex --> enum { NUM_0 NUM_1 NUM_2 NUM_3} --> 0,1,2,3 이렇게 된다.
// enum { NUM_0 = 10, NUM_1 NUM_2 } --> 10부터 하여, 11, 12 이렇게 부여된다.
// enum { NUM_0 = 10 NUM_1 NUM_2 = 16 NUM_3 } --> 10, 11, 16, 17 이렇게 부여된다.
int input;
printf(" 월을 입력하세요 1[JAN] 2[FEB] 3[MAR] 4[APR] 5[MAY] 6[JUN] 7[JUL] 8[AUG] 9[SEP] 10[OCT] 11[NOV] 12[DEC]");
//printf("월 중에 하나를 입력하시오 JAN(1), FEB(2), MAR(3), APR(4), MAY(5), JUN(6)\nJUL(7), AUG(8), SEP(9), OCT(10), NOV(11), DEC(12) ");
// 위에 꺼는 안되고, 아래꺼는 된다. 왜 그런 것일까
// 아래꺼가 열거상수에 숫자를 부여하는 형식이어서 그런 것일지
//printf(" 월을 입력하세요 1[JAN] 2[FEB] 3[MAR] 4[APR] 5[MAY] 6[JUN] 7[JUL] 8[AUG] 9[SEP] 10[OCT] 11[NOV] 12[DEC]");
scanf("%d",&input);
switch(input)// switch 문도 마찬가지, if 와 같이 ; 를 붙이면 안된다.
{
case JAN: case MAR: case MAY: case JUL: case AUG: case OCT: case DEC:
printf("%d월은 31일 입니다",input);
break;
case APR: case JUN: case SEP: case NOV:
printf("%d월은 30일 입니다",input);
break;
case FEB:
printf("%d월은 28일 입니다",input);
break;
}
return 0;
}
'C&C++_Basic > C_Condition' 카테고리의 다른 글
C언어 윤년 구하기 (0) | 2020.03.19 |
---|---|
C언어 종합소득 금액에 따른 세율을 정한 후 과세금액을 계산하여 출력하는 프로그램 (0) | 2020.03.18 |
C언어 1월 ~ 12월까지의 날짜수를 출력하는 switch 문을 이용하여 만들어 보시오. (0) | 2020.03.18 |
C언어 BMI : 표준입력으로 받은 신장(키)과 몸무게를 이용하여 비만 정도를 출력하는 프로그램 (0) | 2020.03.18 |
C언어 두 실수의 연산을 수행하는 프로그램 (0) | 2020.03.18 |