建立乙個Date類

2021-06-18 18:14:53 字數 2281 閱讀 1097

標頭檔案:1 data class.h
#ifndef i_date_ed

#define i_date_ed

#include #include using namespace std;

// year應當是1800到2200之間的整數;

// month必須是1到12之間的整數;

// day必須是1到給定、月的天數之間的整數;

class date

date(int, int, int);

bool isvalid(); // 判斷date是否合法

void readinto(); // 用讀入的month、day和year設定這個date的值

date next(); // 返回date之後的date

date previous(); // 返回date之前的date

string dayofweek(); // 返回這個date是星期幾

friend ostream& operator<

};date::date(int monthln, int dayln, int yearln)

bool date::isvalid()

}void date::readinto()

date date::next()

else

case 4: case 6: case 9: case 11:

if (day != 30)

else

case 2:

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

if (day != 29)

else

else if (day != 28)

else

case 12:

if (day != 31)

else if (year <= 2200 && year >= 1800)

else

cout << "out of the date!";

} return *this;

}date date::previous()

else

case 5: case 7: case 10: case 12:

if (day != 1)

else

case 3:

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

if (day != 1)

else

else if (day != 1)

else

case 1:

if (day != 1)

else if (year <= 2200 && year >= 1800)

else

cout << "out of the date!";

} return *this;

}// 演算法公式: week=(day + 2*month + 3*(month+1)/5 + year + year/4 - year/100 + year/400) % 7

//   (其中的year是4位數的,如2009。「%」號是等式除7取餘數)

// 該式對應的與蔡勒公式有點區別:「0」為星期1,……,「6」為星期日!

// 某年的1、2月要看作上一年的13、14月來計算,比如2023年1月1日要看作2023年的13月1日來計算

string date::dayofweek()

myweek = (day + 2*month + 3*(month+1)/5 + year + year/4 - year/100 + year/400) % 7;

if (month == 13 || month == 14)

switch(myweek)

}ostream& operator<

#endif

驅動程式:data.cpp

這個類簡單,所以把date類的實現也放在標頭檔案了,修改類實現時,vs檢測不到標頭檔案中的改動,必須改變.cpp的內容,才會重新編譯……

只建立string物件可以 不包含標頭檔案, 但這樣不能執行cout << string;的操作;

C 實現乙個Date類

關於日期類,我們最基本的成員變數就是三個 年 月 日。關於成員函式我們要實現構造,拷貝構造,賦值,關於日期的比較大小,以及日期加天數,日期減天數,以及 和 同時還要考慮能否復用,日期減日期,還有日期類的 和 分為前置和後置 等。具體 如下 詳情請看 注釋 date.h pragma once inc...

Java實現乙個Date類

日期類 根據需求列出功能列表 1.傳 年 月 日 構造日期類 2.在當前日期上增加多少天 3.在當前日期上減少多少天 4.可以返回字串 string 的方法 2019 5 30 5.加一些限制 年支援的範圍 1900,2100 6.如果給定兩個日期,計算兩個日期之間相差多少天 設計屬性 1.年 月 ...

簡易的 乙個 Date類(日期類)

date 日期類 date類需要包括三個成員變數,年,月,日,注意年月日皆應該使用整形。對日期 類,需要判斷是否為閏年,因此決定2月的天數,並且要使用過載運算子相關的知識用來解決對日期類物件的輸入與輸出。bool operator const date d bool operator const d...