ë§Œë…„ë‹¬ë ¥ìž…ë‹ˆë‹¤.
~cpp
#include <iostream>
using namespace std;
void main()
{
bool fyun = 0; //윤달�지 아닌지 �별하는 변수. 0�면 윤달� 아니다. 1�면 윤달�다.
int countday = 0; //ë‚ ì§œ 세는 변수.
int findday = 1; //매년 추가ë�˜ëŠ” ë‚ ì§œ.
int endmonth, endline; //달� �, 주� �.
int year,month;
cout << "ì•Œê³ ì‹¶ì�€ ë…„, ì›”, ìž…ë ¥í•´ë³´ì‹œì§€!!";
cin >> year;
cin >> month;
if (year == 1)
findday = 1;
else
{
for (int i = 2;i<=year;i++)//ê°� 년마다 밀리는 ë‚ ì§œ 카운트
{
fyun = 0;
if((i-1)%4 == 0)
fyun = 1;
if((i-1)%100 ==0)
fyun = 0;
if((i-1)%400 == 0)
fyun = 1;
if (fyun == 1)
findday += 2;
else if (fyun == 0)
findday += 1;
}
}
for (int k = 1;k<month;k++)//ê°� ë…„ì—�서ì�˜ 월까지ì�˜ 중첩ë�˜ëŠ” ë‚ ì§œ 카운트
{
if (k == 1 || k == 3 || k == 5 || k == 7 || k == 8 || k == 10 || k == 12)
countday += 31;
else if (k == 2)
{
fyun = 0;
if(year%4 == 0)
fyun = 1;
if(year%100 ==0)
fyun = 0;
if(year%400 == 0)
fyun = 1;
countday += (28+fyun);
}
else
countday += 30;
}
findday = (findday%7+countday)%7;//ê°� ì›” ì²«ì§¸ë‚ ì�˜ ìš”ì�¼.
cout << year << "ë…„\t\t\t" << month << "ì›”" << endl;
cout << "Sun\t Mon\t Tue\t Wed\t Thr\t Fri\t Sat" << endl;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
endmonth = 31;
else if (month == 2)
{
fyun = 0;
if(year%4 == 0)
fyun = 1;
if(year%100 ==0)
fyun = 0;
if(year%400 == 0)
fyun = 1;
endmonth = (28+fyun);
}
else
endmonth = 30;
endline = findday;
for(int q = 0;q<findday;q++)
cout << "\t ";
cout << "1\t ";
for(int n = 2 ; n <= endmonth; n++)//ì¶œë ¥ë¶€. endlineì�€ 주ì�˜ ë��.
{
endline++;
if (endline == 7)
{
endline = 0;
cout << endl;
}
cout << n << "\t ";
}
cout << endl;
}










