G 日期运算
时间: 1ms 内存:128M
描述:
设计日期类(Date),重载下列运算符实现相关操作
(1) 使用成员函数重载 “-”, 实现求两个日期相差的天数
(2) 使用成员函数重载 “+”,实现日期和天数的相加 (加的天数最多31天)注意:为了降低该题的难度,程序的运行都在是以下输入限定下进行:
(1)输入的年月日都是合法的年月日
(2)进行两个日期相减操作时,输入的第一个日期大于第二个日期,从而得到的天数都是正的
(3)日期和天数相加时,输入的天数大于等于0且小于等于31请在下面的程序段基础上根据要求完成设计,只提交begin到end部分的代码
注意:Date类的数据成员以及部分成员函数已经给出,请给Date类添加其余成员函数来完成相应功能
# include <iostream>
using namespace std;//****************begin**************************
class Date
{
public:
Date(int y=2000,int m=1,int d=1); //带三个参数的声明造函数声明
void show(); //按照“年-月-日”的方式显示日期的函数声明
//添加其它成员函数声明,并在类外进行定义
private:
int year,month,day;
};
//*******************end*********************
Date::Date(int y,int m,int d) //带有三个参数的构造函数,给出的三个参数是合法的年月日
{
year=y;
month=m;
day=d;
}void Date::show() //按照“年-月-日”的方式显示日期
{
cout<<year<<"-"<<month<<"-"<<day<<endl;
}int main()
{
int year1,month1,day1;
int year2,month2,day2;
int days;cin>>year1>>month1>>day1; //输入第一个日期的年、月、日
Date d1(year1,month1,day1); //创建第一个日期对象
cin>>year2>>month2>>day2; //输入第二个日期的年、月、日Date d2(year2,month2,day2); //创建第二个日期对象
cout<<(d1-d2)<<endl; //输出两个日期的相差的天数cin>>days; //输入第一个日期要加的天数(days大于等于0且小于等于31)
d1=d1+days; //实现日期和天数的相加操作
d1.show(); //按照“年-月-日”的方式显示日期return 0;
}
输入:
输入日期1的年、月、日
输入日期2的年、月、日
输入日期1要加的天数(大于等于0且小于等于31)
输出:
输出日期1和日期2之间相差的天数
输出日期1和天数相加后新日期的年、月、日
示例输入:
2005 4 3
2004 1 28
28
示例输出:
431
2005-5-1
提示:
参考答案:
文章评论