简易日历C++源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
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<<"("< break; case 2: cout<<"("< break; case 3: cout<<"("< case 4: cout<<"("< case 5: cout<<"("< case 6: cout<<"("< case 7: cout<<"("< case 8: cout<<"("< case 9: cout<<"("< case 10: cout<<"("< case 11: cout<<"("< case 12: cout<<"("< } i = Year_days % 7; //判断该月开头是星期几 cout<<" Mon Tue Wed Thu Fri Sat Sun"< 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< cout< Year_days++; day++; } else while (day <= month_day[temp-1]) //瑞年的二月 { if( day > 1 ) if( Year_days % 7 == 0 ) cout< if( day >=10 ) cout< else cout< Year_days++; day++; } cout< 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; }