336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
#include#include using namespace std; int leapYear(int year); // 리턴값 1 : 윤년 // 리턴값 0 : 평년 int dayByYear(int year); // 0 1 2 3 4 5 6 // "일","월","화","수","목","금","토" int dayByMonthYear(int year, int month); // 0 1 2 3 4 5 6 // "일","월","화","수","목","금","토" int totalDayCountByMonthYear(int year, int month); int main() { char* week[7] = {"일","월","화","수","목","금","토"}; int year, month; printf("연도를 입력하세요 : "); scanf("%d", &year); printf("월을 입력하세요 : "); scanf("%d", &month); printf("%s\n", week[dayByMonthYear(year, month)]); printf("%5s%5s%5s%5s%5s%5s%5s\n", "일","월","화","수","목","금","토"); for( int i = 0 ; i < dayByMonthYear(year, month) ; i++ ) { printf(" "); } int wcount = dayByMonthYear(year, month); for ( int i = 1 ; i <= totalDayCountByMonthYear(year, month) ; i++ ) { printf("%5d", i); if( wcount%7 == 6) { printf("\n"); } wcount++; } return 0; } int totalDayCountByMonthYear(int year, int month) { switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 2: if( leapYear(year) ) { return 29; } else { return 28; } default: return 30; } } int dayByMonthYear(int year, int month) { int wcount=0; wcount=(365*year + year/4 - year/100 + year/400)%7; // 0 ~ 6 for( int i = 1 ; i < month ; i++ ) { wcount += totalDayCountByMonthYear(year, i); } // 30 ~ 300 wcount %= 7; return wcount; } int dayByYear(int year){ int wcount=0; wcount=(365*year + year/4 - year/100 + year/400)%7; return wcount; } int leapYear(int year) { if( year % 4 == 0) { if( year % 100 == 0) { if( year % 400 == 0 ) { return 1; // 윤년 } else { return 0; // 평년 } } else { return 1; // 윤년 } } else { return 0; // 평년 } }
'실습과제 모음' 카테고리의 다른 글
실습과제 모음 (0) | 2013.12.31 |
---|---|
CPP 함수 실습 (0) | 2013.12.22 |
달력 만들기 실습 (1) | 2013.12.15 |
게시판에 간단한 채팅방 만들기 (0) | 2013.11.28 |
JAVA 실습 2013 11 23 (0) | 2013.11.23 |