반응형
c언어로 내일 날짜를 가져와야 하는 일이 생겼습니다.
c언어는 잘 하지 못하는 관계로 나중을 위해서 여기에 적어놓을까 합니다.
c언어는 잘 하지 못하는 관계로 나중을 위해서 여기에 적어놓을까 합니다.
#include <stdio.h> int isYunYear(int year); void PrintTomorrow(int y, int m, int d); int isYunYear(int year) { // 윤년이란 4로 나누어 떨어지되 100으로는 나누어 떨어지지 않는 년도인데 1904년은 윤년이지만 // 1900년은 윤년이 아니다. // 또한 100으로 나누어 떨어지는 년도라도 400으로 나누어 떨어지면 윤년이 되는데 2000년은 윤년이다 int rtnNum = 0; if(year %4 == 0 && year %100 > 0) rtnNum = 1; else { if ((year %4 == 0 && year %100 == 0) && year %400 == 0) rtnNum = 1; } return rtnNum; } void PrintTomorrow(int y, int m, int d) { static int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; if(isYunYear(y) == 1) days[2] = 29; printf("%d > days[%d] || %d < 1 || %d > 12\n", d, m, m, m); if(d > days[m] || m < 1 || m > 12) { printf("wrong date"); } else { d++; if (d > days[m]) { d = 1; m++; if(m == 13) { m = 1; y++; } } printf("tomorrow-> %d / %d / %d \n", y, m, d); } } void main() { int mode, year, mon, day; printf("mode 1 : PrintTomorrow\nmode 2 : Check YunYear\ninput mode : "); scanf("%d",&mode); switch(mode) { case 1 : // 내일날짜 가져오기 printf("input year month day: "); scanf("%d%d%d", &year, &mon, &day); PrintTomorrow(year, mon,day); break; case 2 : // 윤년체크 printf("input year: "); scanf("%d", &year); if(isYunYear(year) == 1) printf("%d => yun", year); else printf("%d => not yun", year); break; } }
반응형
'컴퓨터관련' 카테고리의 다른 글
Flex - GoogleMap Tile 변경해서 지도 없애기 (0) | 2016.01.20 |
---|---|
베다수학 정리 (0) | 2016.01.20 |
SyntaxHighlighter 에서 linenumber 표시하지 않기 (0) | 2016.01.20 |
Oracle 30분간격 시간 가져오는 쿼리 (0) | 2016.01.20 |
spring을 이용하여 File download 하기 (0) | 2016.01.20 |