早上帮大一DD弄的课设。幸好还没忘记,这么小的程序居然要求多文件实现,管不了那么多了!无语。
源码如下:
#include<iostream>
#include <iomanip>
using namespace std;
int IsLeapYear(int);
void main()
{
int i;
int day;
int year;
int month;
int temp;
int temp_i;
long int Year_days = 0;
int Year_Start = 1;
int Per_Year_Days;
int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31,29};
#include <iomanip>
using namespace std;
int IsLeapYear(int);
void main()
{
int i;
int day;
int year;
int month;
int temp;
int temp_i;
long int Year_days = 0;
int Year_Start = 1;
int Per_Year_Days;
int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31,29};
cout<<"Please enter the year: ";
cin>>year;
cout<<"Please enter the month, enter 0 for the whole year: ";
cin>>month;
cin>>year;
cout<<"Please enter the month, enter 0 for the whole year: ";
cin>>month;
while(Year_Start < year)
{
if( IsLeapYear( Year_Start ) )
Per_Year_Days = 366;
else
Per_Year_Days = 365;
{
if( IsLeapYear( Year_Start ) )
Per_Year_Days = 366;
else
Per_Year_Days = 365;
Year_days = Year_days + Per_Year_Days;
Year_Start++;
}
Year_Start++;
}
for( temp = 1; temp <=12 && (month*(temp-1)==0); temp++ )
{
if (month!=0) temp=month;
switch(temp)
{
case 1:
cout<<"("<<year<<") "<<setw(9)<<"January"<<endl;
break;
case 2:
cout<<"("<<year<<") "<<setw(9)<<"February"<<endl;
break;
case 3:
cout<<"("<<year<<") "<<setw(9)<<"March"<<endl;
break;
case 4:
cout<<"("<<year<<") "<<setw(9)<<"April"<<endl;
break;
case 5:
cout<<"("<<year<<") "<<setw(9)<<"May"<<endl;
break;
case 6:
cout<<"("<<year<<") "<<setw(9)<<"June"<<endl;
break;
case 7:
cout<<"("<<year<<") "<<setw(9)<<"July"<<endl;
break;
case 8:
cout<<"("<<year<<") "<<setw(9)<<"August"<<endl;
break;
case 9:
cout<<"("<<year<<") "<<setw(9)<<"September"<<endl;
break;
case 10:
cout<<"("<<year<<") "<<setw(9)<<"October"<<endl;
break;
case 11:
cout<<"("<<year<<") "<<setw(9)<<"November"<<endl;
break;
case 12:
cout<<"("<<year<<") "<<setw(9)<<"December"<<endl;
break;
}
i = Year_days % 7;
cout<<" Mon Tue Wed Thu Fri Sat Sun"<<endl;
if( i != 0 )
for( temp_i = 0; temp_i < i*4; temp_i++)
cout<<" ";
day = 1;
if( IsLeapYear(year) && temp == 2)
while( day <= month_day[12] )
{
if( day >1 )
if( Year_days % 7 == 0 )
cout<<endl;
if( day >= 10 )
cout<<setw(4)<<day;
else
cout<<setw(4)<<day;
Year_days++;
day++;
}
{
if (month!=0) temp=month;
switch(temp)
{
case 1:
cout<<"("<<year<<") "<<setw(9)<<"January"<<endl;
break;
case 2:
cout<<"("<<year<<") "<<setw(9)<<"February"<<endl;
break;
case 3:
cout<<"("<<year<<") "<<setw(9)<<"March"<<endl;
break;
case 4:
cout<<"("<<year<<") "<<setw(9)<<"April"<<endl;
break;
case 5:
cout<<"("<<year<<") "<<setw(9)<<"May"<<endl;
break;
case 6:
cout<<"("<<year<<") "<<setw(9)<<"June"<<endl;
break;
case 7:
cout<<"("<<year<<") "<<setw(9)<<"July"<<endl;
break;
case 8:
cout<<"("<<year<<") "<<setw(9)<<"August"<<endl;
break;
case 9:
cout<<"("<<year<<") "<<setw(9)<<"September"<<endl;
break;
case 10:
cout<<"("<<year<<") "<<setw(9)<<"October"<<endl;
break;
case 11:
cout<<"("<<year<<") "<<setw(9)<<"November"<<endl;
break;
case 12:
cout<<"("<<year<<") "<<setw(9)<<"December"<<endl;
break;
}
i = Year_days % 7;
cout<<" Mon Tue Wed Thu Fri Sat Sun"<<endl;
if( i != 0 )
for( temp_i = 0; temp_i < i*4; temp_i++)
cout<<" ";
day = 1;
if( IsLeapYear(year) && temp == 2)
while( day <= month_day[12] )
{
if( day >1 )
if( Year_days % 7 == 0 )
cout<<endl;
if( day >= 10 )
cout<<setw(4)<<day;
else
cout<<setw(4)<<day;
Year_days++;
day++;
}
else
while (day <= month_day[temp-1])
{
if( day > 1 )
if( Year_days % 7 == 0 )
cout<<endl;
if( day >=10 )
cout<<setw(4)<<day;
else
cout<<setw(4)<<day;
Year_days++;
day++;
}
cout<<endl;
if( getchar() == ‘q’ )
exit(0);
}
getchar();
}
while (day <= month_day[temp-1])
{
if( day > 1 )
if( Year_days % 7 == 0 )
cout<<endl;
if( day >=10 )
cout<<setw(4)<<day;
else
cout<<setw(4)<<day;
Year_days++;
day++;
}
cout<<endl;
if( getchar() == ‘q’ )
exit(0);
}
getchar();
}
int IsLeapYear( int year )
{
{
if ((year %4 == 0) && (year % 100 != 0) ||
(year % 400 == 0) )
return 1;
else
return 0;
}
(year % 400 == 0) )
return 1;
else
return 0;
}
还不错 ,还能看懂是C
(自己汗一下~~)