G 日期运算

2020年1月17日 1580点热度 0人点赞 0条评论

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

提示:

参考答案:

解锁文章

没有看到答案?微信扫描二维码可免费解锁文章

微信扫描二维码解锁

使用微信扫描二维码打开广告页面后可以立即关闭,再刷新此页面即可正常浏览此文章

所跳转广告均由第三方提供,并不代表本站观点!

已经扫描此二维码?点此立即跳转

code

这个人很懒,什么都没留下

文章评论