纸质笔记本
记录点滴,成就未来
C++博客
首页
新随笔
联系
聚合
管理
随笔-59 评论-36 文章-0 trackbacks-0
计算日期
1
//
给定一个天数,查询该天之后的日期
2
//
例如
3
//
当前日期是 2008 11 10 则5050天后是 2022 9 8
4
5
#include
<
iostream
>
6
7
using
namespace
std;
8
9
class
DAY
10
{
11
private
:
12
int
y;
13
int
m;
14
int
d;
15
int
days[
12
];
16
17
public
:
18
DAY()
19
{
20
cout
<<
"
请输入当前日期
"
<<
endl;
21
cout
<<
"
year
"
<<
endl;
22
cin
>>
y;
23
cout
<<
"
mouth
"
<<
endl;
24
cin
>>
m;
25
cout
<<
"
day
"
<<
endl;
26
cin
>>
d;
27
28
int
i;
29
30
for
( i
=
1
; i
<=
12
; i
++
)
31
{
32
switch
(i)
33
{
34
35
case
2
:
36
days[i
-
1
]
=
isLeapYear()
?
29
:
28
;
//
设置2月天数
37
break
;
38
39
case
4
:
40
case
6
:
41
case
9
:
42
case
11
:
43
days[i
-
1
]
=
30
;
44
break
;
45
46
default
:
47
days[i
-
1
]
=
31
;
48
}
49
}
50
}
51
52
void
show()
53
{
54
cout
<<
"
year:
"
<<
y
<<
endl;
55
cout
<<
"
mouth:
"
<<
m
<<
endl;
56
cout
<<
"
day:
"
<<
d
<<
endl;
57
}
58
59
int
judge_day(
int
mouth)
60
{
61
return
days[mouth
-
1
];
62
}
63
64
void
calculate(
int
increase)
65
{
66
if
(d
+
increase
<=
days[m
-
1
])
67
d
+=
increase;
68
else
69
{
70
increase
-=
days[m
-
1
]
-
d;
71
m
++
;
72
73
if
(m
>
12
)
74
{
75
//
if m is greater than 12 , and increase is less than days[m-1]
76
//
,then the following while statement will not be executed,
77
//
so must reset m and year++
78
79
m
=
1
;
80
y
++
;
81
}
82
83
while
(increase
-
days[m
-
1
]
>
0
)
84
{
85
increase
-=
days[m
-
1
];
86
m
++
;
87
88
if
(m
>
12
)
89
{
90
y
++
;
91
m
=
1
;
92
93
days[
1
]
=
isLeapYear()
?
29
:
28
;
94
}
95
}
96
97
d
=
increase;
98
}
99
}
100
101
bool
isLeapYear()
102
{
103
return
( y
%
4
==
0
&&
y
%
100
!=
0
)
||
(y
%
400
==
0
);
104
}
105
}
;
106
107
int
main()
108
{
109
DAY test;
110
int
increase;
111
112
test.show();
113
114
cout
<<
"
请输入天数,以查询该天之后的日期
"
<<
endl;
115
cin
>>
increase;
116
117
test.calculate(increase);
118
cout
<<
"
\n
"
<<
increase
<<
"
天以后是:
"
<<
endl;
119
test.show();
120
121
return
0
;
122
}
posted on 2008-12-11 22:03
zhaoyg
阅读(465)
评论(1)
编辑
收藏
引用
所属分类:
小代码
评论:
#
re: 计算日期
2008-12-11 22:05 |
908971
修正了一个bug
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
鼠标手势识别Demo
图片显示控件
一个很弱的托盘类
小工具:快捷键设置程序
文件名批量修改器
用MFC实现了一个局域网聊天程序
清除代码中的注释
计算日期
简易代码高亮的小程序
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2011年1月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
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
1
2
3
4
5
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(5)
给我留言
查看公开留言
查看私人留言
随笔分类
C/C++学习笔记(19)
C++和Python(3)
MFC学习笔记(12)
other(12)
Python(1)
SQL Server学习笔记(2)
失败的尝试(2)
小代码(9)
随笔档案
2013年2月 (1)
2012年10月 (1)
2012年5月 (2)
2012年3月 (1)
2011年8月 (1)
2011年6月 (2)
2011年4月 (1)
2011年2月 (2)
2011年1月 (3)
2010年12月 (2)
2010年11月 (1)
2010年7月 (3)
2010年5月 (2)
2010年4月 (2)
2010年3月 (5)
2010年2月 (5)
2010年1月 (3)
2009年12月 (3)
2009年11月 (3)
2009年10月 (2)
2009年9月 (2)
2009年5月 (7)
2008年12月 (1)
2008年7月 (2)
2008年6月 (1)
2008年5月 (1)
搜索
最新评论
1. re: 通过Boost::Python实现C++对象导入python环境
评论内容较长,点击标题查看
--Frey
2. re: 图片显示控件
@lulu
由于还工作原因,代码留在了原公司
--zhaoyg
3. re: 图片显示控件
@lulu
GDI+我也是摸石头过河的 :)
--zhaoyg
4. re: 图片显示控件
我现在也在做类似的应用,请问您是做哪一方面的?
--lulu
5. re: 图片显示控件
嗯,有关GUI++的问题,我们以后要相互讨论哦!
--lulu
阅读排行榜
1. tinyxml对汉字处理的一则笔记(4732)
2. 练习TinyXml的写操作(3486)
3. 通过Boost::Python实现C++对象导入python环境(3128)
4. 让CListBox响应鼠标右键(3016)
5. [转] MFC CListCtrl 使用介绍(3014)
评论排行榜
1. 图片显示控件(10)
2. 文件名批量修改器(5)
3. 我也来说说透明静态文本框的实现(4)
4. 什么时候自动合成的赋值操作符不能用(2)
5. 小工具:快捷键设置程序(2)