#include <iostream>
using namespace std;
int totalYearDay(int year);
int totalMonthDay(int year, int month);
int main()
{
// 입력 : 년도 와 월
// 년도 : int
// 월 : int
int year;
int month;
int monthDay = 0;
cout << "년도를 입력하세요 : " ;
cin >> year;
cout << "월을 입력하세요 : ";
cin >> month;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
monthDay = 31;
break;
case 2:
if( (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 )
{
monthDay = 29;
}
else
{
monthDay = 28;
}
break;
default:
monthDay = 30;
}
cout << year << "년 " << month << "월은 총 " << monthDay << "일 입니다." << endl;
cout << "1900 년 부터 " << year << " 년 까지 총 일수는 " << totalYearDay(year) << endl;
cout << year << " 년 1월 1일은 " ;
switch( totalYearDay(year) % 7 )
{
case 1:
cout << "화요일" << endl;
break;
case 2:
cout << "수요일" << endl;
break;
case 3:
cout << "목요일" << endl;
break;
case 4:
cout << "금요일" << endl;
break;
case 5:
cout << "토요일" << endl;
break;
case 6:
cout << "일요일" << endl;
break;
case 0:
cout << "월요일" << endl;
break;
}
cout << year << " 년 "<< month << "월 1일은 " ;
switch((totalYearDay(year) + totalMonthDay(year,month)) % 7 )
{
case 1:
cout << "화요일" << endl;
break;
case 2:
cout << "수요일" << endl;
break;
case 3:
cout << "목요일" << endl;
break;
case 4:
cout << "금요일" << endl;
break;
case 5:
cout << "토요일" << endl;
break;
case 6:
cout << "일요일" << endl;
break;
case 0:
cout << "월요일" << endl;
break;
}
}
int totalYearDay(int year)
{
int totalDay = 0;
int i;
for( i = 1900; i < year ; i++ )
{
if ( (i % 4 == 0 && i % 100 != 0) || i % 400 == 0 )
{
totalDay += 366;
}
else
{
totalDay += 365;
}
}
return totalDay;
}
int totalMonthDay(int year, int month)
{
int totalDay = 0;
int i;
// TODO totalDay 를 구하시오.
for( i = 1; i < month ; i++ )
{
switch(i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
totalDay += 31;
break;
case 2:
if( (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 )
{
totalDay += 29;
}
else
{
totalDay += 28;
}
break;
default:
totalDay += 30;
}
}
return totalDay;
}
'Programming > C,CPP,CS' 카테고리의 다른 글
CPP string 줄단위 입력 (0) | 2013.01.26 |
---|---|
링크드리스트 학생관리 (0) | 2013.01.19 |
C 실습과제 (0) | 2012.11.17 |
프로그래밍 경진대회 관련 사이트 (0) | 2012.10.14 |
CPP 예외처리 (0) | 2012.09.23 |