熟悉類和物件
1.實驗題目
設計乙個cdate日期類
2.實驗目的
熟悉類和物件的設計,能夠設計出類
3.要求:
cdata類中包含年月日,能夠輸入輸出,並實現加減天數操作。
#include
using namespace std;
class cdate ;
cdate:
:cdate()
cdate:
:cdate
(int year1,
int month1,
int day1)
cdate::~
cdate()
int cdate:
:ifleapyear()
void cdate:
:print()
void cdate:
:adddays
(int i)
;while
(i>=
365)
//考慮數字很大時的處理情況
if(month<=2)
//二月及以下考慮當年閏年影響,後++
}while
(i>=28)
//考慮月份,這裡考慮i>=28是希望在後面的日子的處理過程中最多隻變換一次月份 }if
((day+i)
>months[month]
)//日子和最後要加的天數超過所在月的處理情況
else month++;}
day=day+i;
if(day<=0)
//這裡考慮在之前處理中i為負數且day很小的情況下導致day為負數的情況
else month--;if
(ifleapyear()
&&month==2)
//刻刻要想閏年的處理
day=
29+day;
day=months[month]
+day;}}
void cdate:
:subdays
(int i)
;while
(i>=
365)
//考慮數字很大時的處理情況
if(month>=3)
//三月及以上考慮當年閏年影響,後--
}while
(i>=28)
//考慮月份,這裡考慮i>=28是希望在後面的日子的處理過程中最多隻變換一次月份
else}if
((day-i)
<=0)
//日子減去天數小於0的處理情況
else month--;if
(ifleapyear()
&&month==2)
//時時要想閏年的處理
i=i-29;
i=i-months[month];}
day=day-i;
/* day=26,i=27,day-i=-1;
month=4,i=i-31=-4;
month=3
day=26-(-4)=30;--> 3 30
在i<28,day-i<0的情況下,
day=day-i+month=months[month])
*/if(day>=months[month]
)else month++;}
}int
main()
C 實現乙個日期類
include using namespace std class date public bool is invalid date 判斷日期是否無效 return false public int day in month if is leap year return days month pub...
用C 實現乙個日期類
最近在複習c 的時候發現日期類是乙個非常有用的類,在現實中是非常實用的 雖然我不知道為什麼這麼實用的類,庫里沒有 以下是我自己實現的日期類的 因為大部分都是運算子的過載,所以理解起來應該並不難 include include using namespace std class date date c...
設計乙個日期類和時間類
define cry secure no warings 問題描述 設計乙個日期類和時間類,編寫display函式用於顯示日期和時間。要求 display函式作為類外的普通函式,分別在time和date類中將display宣告為友元函式。在主函式中呼叫display函式,display函式分別引用t...