编写一个打印全年日历的程序

来源:互联网 发布:php经典项目实例 源码 编辑:程序博客网 时间:2024/06/10 05:40
/*判断闰年3如果知道某年元月一日是星期几,能否在本程序的基础上,编写一个打印全年日历的程序?*/#include <iostream>using namespace std;bool LeapYear(int year){bool isLeapYear;  //是否是闰年//判断是否是闰年if(year%4==0&&year%100!=0||year%400==0){isLeapYear=true;}else{isLeapYear=false;}return isLeapYear;}int PerMonth(int m,int year){int daysPerMonth=0; //每月的天数switch(m){case 1:{    daysPerMonth=31;break;}case 2:{if(LeapYear(year))    daysPerMonth=29;else    daysPerMonth=28;break;}case 3:{    daysPerMonth=31;break;}case 4:{    daysPerMonth=30;break;}case 5:{    daysPerMonth=31;break;}case 6:{    daysPerMonth=30;break;}case 7:{    daysPerMonth=31;break;}case 8:{    daysPerMonth=31;break;}case 9:{    daysPerMonth=30;break;}case 10:{    daysPerMonth=31;break;}case 11:{    daysPerMonth=30;break;}case 12:{    daysPerMonth=31;break;}}return daysPerMonth;}void print(int year,int week){int daysPerMonth=0; //每月的天数int m,d,w,i;for(m=1;m<=12;m++){cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<m<<"月"<<endl;for(w=0;w<7;w++){cout<<w<<'\t';}cout<<endl;cout<<endl;week=(week+daysPerMonth)%7;for(i=0;i<week;i++){   cout<<'\t';}daysPerMonth=PerMonth(m,year);for(d=1;d<=daysPerMonth;d++){cout<<d<<'\t';if((i+d)%7==0){cout<<endl;}}}}int main(){int year;int week;cout<<"输入某一年的年号:";cin>>year;cout<<"输入"<<year<<"年元月一日是星期几:";cin>>week;    print(year,week);return 0;}


 

原创粉丝点击