当前位置:文档之家› 简易日历C++源代码

简易日历C++源代码

#include<iostream>//输入输出涵数的头文件
#include <iomanip>//对cin,cout之类的一些操纵运算子
using namespace std;
int IsLeapYear(int year); //定义一个函数,判断输入的年是不是瑞年,在此处声明这个函数void main()
{
int i;
int day;
int year;
int month;
int temp;// 临时变量我们一般把它起个名字叫做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};//把一年中每个月的天数存入数组,month_day[12]是闰年2月的天数
cout<<"Please enter the year: ";
cin>>year;
cout<<"Please enter the month, enter 0 for the whole year: ";
cin>>month;
while(Year_Start < year)
{
if( IsLeapYear( Year_Start ) ) //是瑞年的话一年有366天否则有365天
Per_Year_Days = 366;
else
Per_Year_Days = 365;
Year_days = Year_days + Per_Year_Days;
Year_Start++;
}
for( temp = 1; temp <=12 && (month*(temp-1)==0); temp++ ) //如果month=0,则temp从1-12循环输出,如果month!=0则只输出一次
{
if (month!=0) temp=month;
switch(temp)
{
case 1:
cout<<"("<<year<<") "<<setw(9)<<"January"<<endl; //setw()函数表示的是输出字符的宽度,
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] ) //month_day[12] =29
{
if( day >1 )
if( Year_days % 7 == 0 )
cout<<endl;
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();
}
int IsLeapYear( int year ) //定义一个函数,判断输入的年是不是瑞年,是瑞年返回1否则返回0 {
if ((year %4 == 0) && (year % 100 != 0) ||
(year % 400 == 0) ) //判定是否为闰年
return 1;
else
return 0;
}。

相关主题