作者在 2011-03-27 01:24:09 发布以下内容
#include<iostream>
#include<iomanip>
#include<stdlib.h>
#include<conio.h>
using namespace std;
void print()
{
cout<<" SUN MON TUR WED THU FRI SAT";
}
inline void print_day(int day)
{
cout<<setw(5)<<day;
}
inline void print_space()
{
cout<<" ";
}
int main()
{
system("color 9a");
while(1)
{
string Month[]={"January ","February ","March ","April ","May ","June ",
"July ","August ","September","October ","November","December"};
int month_day[][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int sum,sum_left,sum_right;
int left_month,right_month;
int left_space_before,right_space_before;
int Year,year,month,leap,i,j,k,n,m;
char key;
cout<<"please input the year that you want to know:";
cin>>year;
cout<<endl;
for(k=1;k<6;k++)
print_space();
cout<<"LET'S SEE THIS YEAR'S CALENDAR"<<endl<<endl;
cout<<setw(53)<<"/*press any key to start*/"<<endl<<endl;
getch();
leap=year%4==0&&year%100!=0||year%400==0;
sum=(year-1)*365%7;
for(k=0,Year=1;Year<=year-1;Year++)
{
if(Year%4==0&&Year%100!=0||Year%400==0)
k++;
if(k%7==0)
k=0;
}
sum+=k;
sum_left=sum%7;
for(month=1;month<=12;month+=2)
{
print_space();
cout<<" "<<setiosflags(ios::right)<<Month[month-1];
for(k=1;k<6;k++)
print_space();
cout<<setiosflags(ios::left)<<Month[month];
cout <<endl<<"\n";
print();
cout<<" ";
print();
cout<<endl;
#include<iomanip>
#include<stdlib.h>
#include<conio.h>
using namespace std;
void print()
{
cout<<" SUN MON TUR WED THU FRI SAT";
}
inline void print_day(int day)
{
cout<<setw(5)<<day;
}
inline void print_space()
{
cout<<" ";
}
int main()
{
system("color 9a");
while(1)
{
string Month[]={"January ","February ","March ","April ","May ","June ",
"July ","August ","September","October ","November","December"};
int month_day[][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int sum,sum_left,sum_right;
int left_month,right_month;
int left_space_before,right_space_before;
int Year,year,month,leap,i,j,k,n,m;
char key;
cout<<"please input the year that you want to know:";
cin>>year;
cout<<endl;
for(k=1;k<6;k++)
print_space();
cout<<"LET'S SEE THIS YEAR'S CALENDAR"<<endl<<endl;
cout<<setw(53)<<"/*press any key to start*/"<<endl<<endl;
getch();
leap=year%4==0&&year%100!=0||year%400==0;
sum=(year-1)*365%7;
for(k=0,Year=1;Year<=year-1;Year++)
{
if(Year%4==0&&Year%100!=0||Year%400==0)
k++;
if(k%7==0)
k=0;
}
sum+=k;
sum_left=sum%7;
for(month=1;month<=12;month+=2)
{
print_space();
cout<<" "<<setiosflags(ios::right)<<Month[month-1];
for(k=1;k<6;k++)
print_space();
cout<<setiosflags(ios::left)<<Month[month];
cout <<endl<<"\n";
print();
cout<<" ";
print();
cout<<endl;
for(i=1;i<month;i++)
sum_left+=month_day[leap][i-1]%7;
if(month==1)
{
sum_left=sum;
sum_right=(sum_left+31)%7;
}
else if(month>1)
{
sum_left=sum_right+month_day[leap][month-1];
sum_right=sum_left+month_day[leap][month]%7;
}
left_space_before=(sum_left+1)%7;
for(n=1;n<=left_space_before;n++)
{
print_space();
if(n==left_space_before)
break;
}
for(n=1;n<=7;n++)
{
print_day(n);
if(left_space_before+n==7)
break;
}
cout<<" ";
right_space_before=(sum_right+1)%7;
for(m=1;m<=right_space_before;m++)
{
print_space();
if(m==right_space_before)
break;
}
for(m=1;m<=7;m++)
{
print_day(m);
if(right_space_before+m==7)
{
cout<<endl;
break;
}
}
loop: for(i=1,n++;n<=month_day[leap][month];n++,i++)
{
print_day(n);
sum_left+=month_day[leap][i-1]%7;
if(month==1)
{
sum_left=sum;
sum_right=(sum_left+31)%7;
}
else if(month>1)
{
sum_left=sum_right+month_day[leap][month-1];
sum_right=sum_left+month_day[leap][month]%7;
}
left_space_before=(sum_left+1)%7;
for(n=1;n<=left_space_before;n++)
{
print_space();
if(n==left_space_before)
break;
}
for(n=1;n<=7;n++)
{
print_day(n);
if(left_space_before+n==7)
break;
}
cout<<" ";
right_space_before=(sum_right+1)%7;
for(m=1;m<=right_space_before;m++)
{
print_space();
if(m==right_space_before)
break;
}
for(m=1;m<=7;m++)
{
print_day(m);
if(right_space_before+m==7)
{
cout<<endl;
break;
}
}
loop: for(i=1,n++;n<=month_day[leap][month];n++,i++)
{
print_day(n);
if(i==7)
{
cout<<" ";
break;
}
if(n==month_day[leap][month]&&i<7)
{
for(k=1;k<=7-i;k++)
print_space();
cout<<" ";
break;
}
{
cout<<" ";
break;
}
if(n==month_day[leap][month]&&i<7)
{
for(k=1;k<=7-i;k++)
print_space();
cout<<" ";
break;
}
}
for(j=1,m++;m<=month_day[leap][month+1];m++,j++)
{
print_day(m);
if(j==7)
{
if(n<month_day[leap][month])
cout<<endl;
goto loop;
break;
}
if(m==month_day[leap][month+1]&&n<month_day[leap][month])
{
cout<<endl;
for(n++;n<=month_day[leap][month];n++)
print_day(n);
break;
}
if(n==month_day[leap][month]&&m+1<=month_day[leap][month+1])
{
for(k=1,m++;m<=month_day[leap][month+1];k++,m++)
{
print_day(m);
if(j+k==7)
{
cout<<endl;
break;
}
}
for(k=1;k<=7;k++)
print_space();
cout<<" ";
for(m++;m<=month_day[leap][month+1];m++)
{
for(j=1,m++;m<=month_day[leap][month+1];m++,j++)
{
print_day(m);
if(j==7)
{
if(n<month_day[leap][month])
cout<<endl;
goto loop;
break;
}
if(m==month_day[leap][month+1]&&n<month_day[leap][month])
{
cout<<endl;
for(n++;n<=month_day[leap][month];n++)
print_day(n);
break;
}
if(n==month_day[leap][month]&&m+1<=month_day[leap][month+1])
{
for(k=1,m++;m<=month_day[leap][month+1];k++,m++)
{
print_day(m);
if(j+k==7)
{
cout<<endl;
break;
}
}
for(k=1;k<=7;k++)
print_space();
cout<<" ";
for(m++;m<=month_day[leap][month+1];m++)
{
print_day(m);
break;
}
}
}
cout<<endl;
}
cout<<endl<<"Do you want to continue? Y/N or y/n\t";
break;
}
}
}
cout<<endl;
}
cout<<endl<<"Do you want to continue? Y/N or y/n\t";
L : cin>>key;
if(key!='Y'&&key!='y'&&key!='N'&&key!='n')
{
cout<<endl<<"please input Y/No or y/n"<<endl<<endl;
goto L;
}
cout<<endl<<"please input Y/No or y/n"<<endl<<endl;
goto L;
}
else if(key=='N'||key=='n')
{
cout<<endl<<setw(50)<<"Thank you for your using"<<endl\
<<setw(53)<<"**********GOOD BYE!!!**********"<<"\n\n\n\n";
return 0;
}
else if (key=='Y'||key=='y')
{
cout<<endl<<setw(50)<<"Thank you for your using"<<endl\
<<setw(53)<<"**********GOOD BYE!!!**********"<<"\n\n\n\n";
return 0;
}
else if (key=='Y'||key=='y')
system("cls");
}
//.system("PAUSE");
return 0;
}
}
//.system("PAUSE");
return 0;
}