c++实现简单的万年历打印

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include<iostream>
using namespace std;
int runnian(int nian)//判断是否为闰年
{
int i=1;
if((nian%4==0&&nian%100!=0)||nian%400==0)
i=2;
return i;
}

int zhouji(int nian)//计算元旦是周几
{
int n=0,zhouji,n1=1900;
if(nian>=1900)
{
for(;n1<nian;n1++)
n+=runnian(n1);
zhouji=(n%7)+1;
}
if(nian<1900)
{
for(;nian<1900;nian++)
n+=runnian(n1);
zhouji=8-(n%7);
}
return zhouji;
}

void dayin(int nian,int n)
{
int i,j=0,k,l=n,m,p;
if(runnian(nian)==1)//非闰年
m=28;
if(runnian(nian)==2)//闰年
m=29;
for(i=1;i<=12;i++)
{
if(i==2)
p=m;
if((i%2==1&&i<9)||i==8||i==10||i==12)
p=31;
if(i%2==0||i==9||i==11)
p=30;
cout<<endl<<i<<"月"<<endl;
cout<<"--------------------------------------------------------------------"<<endl;
cout<<"星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期天"<<endl;
cout<<"--------------------------------------------------------------------"<<endl;
for(;l>1;l--)
cout<<"\t";
for(k=1;k<=p;k++)
{
n++;
cout<<k<<"\t";
if(n==8)
{
cout<<endl;
n=1;
}
}
cout<<endl;
l=n;
}
}

int main()
{
int nian;
cout<<"请输入年号:";
cin>>nian;
dayin(nian,zhouji(nian));
return 0;
}

运行

打印