OOP Exercise ~ Date 类

定义一个满足如下要求的Date类 

(1)用下面的格式输出日期: 日/月/年 

(2)可运行在日期上加一天操作(扩展为若干天)

(3)设置日期 

#include <iostream>
using namespace std;

class Data
{
private:
	int _day;
	int _month;
	int _year;

public:
	Data(int n_day, int n_month, int n_year);
	void add();
	void show();
};


Data::Data(int n_day=0, int n_month=0, int n_year=0):_day(n_day),_month(n_month),_year(n_year){

}

void Data::add()  //加天操作
{

	int n;
	cout << "Please enter a number:";
	cin >> n;
	cout << endl;
	_day = _day + n;

	if ((_month == 1 || _month == 3 || _month == 5 || _month == 7 || _month == 8 || _month == 10) && (_day >= 31))
	{
		_day -= 31;
		_month ++;
	}
	if (_month == 12 && _day >= 31)
	{
		_day -= 31;
		_month = 1;
		_year ++;
	}
	if ((_month == 4 || _month == 6 || _month == 9 || _month == 11) && _day >= 30)
	{
		_day -= 30;
		_month ++;
	}
	if ((_month == 2 && ((_year % 4 == 0 && _year % 100 != 0) || (_year % 400 == 0))) && _day >= 29)
	{
		_day -= 29;
		_month ++;
	}
	if ((_month == 2 && ((_year % 4 != 0) || (_year % 100 == 0 &&_year % 400 != 0))) && _day >= 28)
	{
		_day -= 28;
		_month ++;
	}
}

void Data::show()
{
	cout<< _day << "/" << _month << "/" << _year << endl;
}

int main()
{
	int y1, m1, d1, y2, m2, d2;
	cout << "Please enter a date:" ;
	cin >> d1 >> m1 >> y1;
	cout << endl;

	Data a(d1,m1,y1);
	cout << "The original date:" ;
	a.show();
	cout << endl;

	a.add();
	cout << "The date after the change:";
	a.show();
	cout << endl;

	cout << "Please set the date:";
	cin >> d2 >> m2 >> y2;
	cout << endl;
	Data c(d2, m2, y2);
	cout << "The date after set:";
	c.show();

	return 0;
}

如有不足,还请各位大佬多多指教 

如果有大佬愿意补充以下减少天数的那一部分,小生感激不尽    (._. )>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值