C, C++
C/C++/if/윤년평년 판별식
오지이
2020. 1. 6. 10:34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include "config.h"
void main() {
// 윤년/평년 판별식 :
// 년도가 4로 나누어 떨어지고(&&), 100으로 나눠 떨어지지 않거나(||) 400으로 나눠 떨어지면 윤년, 그렇지 않으면 평년
int year;
cout << "윤년/평년을 판단할 년도를 입력하세요 : ";
cin >> year;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
// printf("%d = 윤년\n", year);
cout << year << "년은 윤년입니다." << endl;
}
else {
// printf("%d = 평년\n", year);
cout << year << "년은 평년입니다." << endl;
}
// 삼항 연산자로 나타내기.
// 간단한 if, 조건이 참이나 거짓일 때 실행할 문장이 딱 1개씩일 경우 사용하면 편리하다.
// 형식 : 조건식 ? 조건식이 참일 때 실행할 문장 : 조건식이 거짓일 때 실행할 문장
// c++ => 영어, 숫자, 특수문자 는 한 글자를 1바이트(문자, %c)로 인식하지만, 한글은 2바이트 이상 => %s (문자열)
// < 2가지 형식 >
printf("%d년은 %s년입니다.\n", year, year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ? "윤" : "평");
cout << year << "년은 " << (year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ? "윤" : "평") << "년입니다." << endl;
}
|
cs |
프로그램에서 여러번 사용되는 값은 변수에 저장해서 사용하면 편리하다.
isleapYear 에 윤년/평년을 판단할 함수를 저장한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// 논리값을 기억하는 변수나 결과(리턴) 값이 논리값인 함수의 이름은 "is" 로 시작하는 것이 관행이다.
int year;
cout << "윤년/평년을 판단할 년도를 입력하세요 : ";
cin >> year;
bool isleapYear = year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
if (isleapYear) {
// printf("%d = 윤년\n", year);
cout << year << "년은 윤년입니다." << endl;
}
else {
// printf("%d = 평년\n", year);
cout << year << "년은 평년입니다." << endl;
}
printf("%d년은 %s년입니다.\n", year, isleapYear ? "윤" : "평");
cout << year << "년은 " << (isleapYear ? "윤" : "평") << "년입니다." << endl;
}
|
cs |