91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c++學習筆記_CDate類的實現

發布時間:2020-06-19 17:25:13 來源:網絡 閱讀:561 作者:smile_晶 欄目:編程語言

#ifndef _CALENDAR__H _

#include<assert.h>

#include <iostream>

using namespace std;

class CDate

{

friend bool leapyear(int year);

friend int getmonthday(int year, int month);

public:

void SetDate(int year, int month, int day)

{

_year = year;

_month = month;

_day = day;

}

CDate(int year = 1990, int month = 1, int day = 1)

{

if (year >= 1990 && month <= 12 && month > 0 && day > 0 && day <= getmonthday(year, month))

{

_year = year;

_month = month;

_day = day;

}

else

{

cout << "輸入錯誤" << endl;

_year = 1990;

_month = 1;

_day = 1;

}

}

CDate(CDate &d)

{

_year = d._year;

_month = d._month;

_day = d._day;

}

void display()

{

cout << _year << "-" << _month << "-" << _day << endl;

}

private:

int getmonthday(int year, int month)

{

int montharr[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

int day = montharr[month];

if (month == 2 && leapyear(year))

{

day = day + 1;

}

return day;

}

bool leapyear(int year)

{

if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)

{

return true;

}

return false;

}


int _year;

int _month;

int _day;

public:

bool operator==(const  CDate& d)

{

return (_year == d._year &&_month == d._month&&_day == d._day);

}

bool operator!=(const  CDate& d)

{

return !(*this == d);

}

bool operator>(const  CDate& d)

{

return (_year > d._year&&_month > d._month&&_day > d._day);

}

bool operator>=(const  CDate& d)

{

return (*this > d || *this == d);

}

bool operator<(const  CDate& d)

{

return !(*this > d || *this == d);

}

bool operator<=(const  CDate& d)

{

return !(*this > d);

}

CDate& operator--()

{

*this -= 1;

return *this;

}

CDate operator--(int)

{

CDate temp(*this);

*this -= 1;

return temp;

}

CDate& operator++()

{

*this += 1;

return *this;

}

CDate operator++(int)

{

CDate temp(*this);

*this += 1;

return temp;

}

CDate operator+(int day)

{

CDate temp(*this);

if (day <0)

{

return *this - (-day);

}

temp._day += day;

while (temp._day > getmonthday(temp._year, temp._month))

{

temp._day -= getmonthday(temp._year, temp._month);

if (temp._month == 12)

{

temp._year++;

temp._month = 1;

}

else

{

temp._month++;

}

}

return temp;

}

CDate operator-(int day)

{

CDate temp(*this);

if (day < 0)

{

return *this + (-day);

}

temp._day -= day;

while (temp._day <= 0)

{

if (temp._month == 1)

{

temp._year--;

temp._month = 12;

}

else

{

temp._month--;

}

temp._day += getmonthday(_year, _month);

}

return temp;

}

CDate operator-=(int day)

{

*this = *this - day;

return *this;

}

CDate operator+=(int day)

{

*this = *this + day;

return *this;

}

int operator-(CDate &d)

{

int flag = 1;

CDate max = *this;

CDate min = d;

if (max < min)

{

std::swap(max._year, min._year);

std::swap(max._month, min._month);

std::swap(max._day, min._day);

flag = -1;

}

int count = 0;

while (max != min)

{

++count;

++min;

}

return (count*flag);

}

};

#endif _CALENDAR__H _


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

琼海市| 镇康县| 彩票| 广饶县| 永州市| 梁平县| 石楼县| 阿图什市| 南投县| 大渡口区| 成武县| 河间市| 贺州市| 女性| 呼和浩特市| 光山县| 红河县| 敦煌市| 东光县| 永年县| 土默特右旗| 醴陵市| 固始县| 合作市| 康马县| 宜良县| 溆浦县| 吉水县| 麦盖提县| 合山市| 通山县| 赞皇县| 黄梅县| 新绛县| 东乡族自治县| 祥云县| 宝丰县| 沙洋县| 淄博市| 蓬安县| 东乌珠穆沁旗|