输出日历

来源:互联网 发布:破解办公室网络限制 编辑:程序博客网 时间:2024/06/10 15:09
#include<iostream>using namespace std;void displayYearCalendar(int year){int t,first=1;if(year%400==0||(year%4==0&&year%100!=0))t=29;elset=28;const int month[]={31,t,31,30,31,30,31,31,30,31,30,31};if(year<1990)throw year;for(int i=0;i<12;i++){cout<<i+1<<"月:"<<endl;cout<<"Sun"<<'\t'<<"Mon"<<'\t'<<"Tue"<<'\t'<<"Wed"<<'\t'<<"Thu"<<'\t'<<"Fri"<<'\t'<<"Sat"<<endl;int monlen=month[i];int dayv=1,day=0,fir=first;while(day<fir){cout.setf(ios::left);cout.width(8);cout<<" ";day++;}while(dayv<=monlen){cout.setf(ios::left);cout.width(8);cout<<dayv;dayv++;if(day==6)cout<<endl;day=(day+1)%7;}if(day!=0)cout<<endl;first=day;}}int main(){int year;cout<<"输入年份(必须在1990之后)"<<endl;try{cin>>year;}catch(int){cout<<"输入年份必须在1990之后"<<endl;exit(1);}displayYearCalendar(year);return 0;}