定義一個日期類Date,main()函式完成對其的測驗。
Date類結構說明:
Date類的資料成員包括:
①私有資料成員:年year(int型),月month(int型),日day(int型)。
Date類成員函式包括:
①定義有參建構式Date(int ,int ,int )和拷貝建構式Date(Date &),其中有參建構式引數默認值為1,輸出資訊“Constructor run”,拷貝建構式輸出資訊“CopyConstructor run”
②定義解構式,解構式輸出資訊“Destructor run”
③公有函式成員:void setYear(int )和int getYear()分別回傳和設定year
④公有函式成員:void setMonth(int )和int getMonth()分別回傳和設定month
⑤公有函式成員:void setDay(int )和int getday()分別回傳和設定day
⑥公有函式成員:void tomorrow( )和void yesterday( )實作日期加/減一天操作
⑦公有函式成員:void printMonthCalendar( )列印當月日歷,格式如下(每列寬度為3位,右對齊)(以2016年3月為例)
SunMonTueWedThuFriSat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
⑧公有函式成員:void chineseFormat( )和void americaformat( )分別顯示中式日期(例:2014年4月21日)和美式日期(例:Api 21, 2014),其中美式格式中1~12月分別用Jan、Feb、Mar、Api、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec表示
⑨私有函式成員:int isLeapYear( )確定當前年份是否為閏年,閏年回傳1,否則回傳0;
⑩公有函式成員:int weekDay( )回傳該天是星期幾,0~6分別表示Sun、Mon、Tue、Wed、Thu、Fri、Sat
注:在以上成員函式執行程序中,若輸入的日期引數值超界,則按照最接近輸入引數的有效日期值對待,例如:
假定輸入的month>12,則按照12對待,若輸入的month<1,則按照1對待;
假定當前month為12月,則若輸入的day>31,則按照31對待,若輸入的day<1,則按照1對待;
提示:cout.width(int)設定輸出項的寬度
裁判測驗程式樣例:
#include<iostream>
using namespace std;
int const monthDay[12]={31,28,31,30,31,30,31,31,30,31,30,31};
char* const weekName[7]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
char* const monthName[12]={"Jan","Feb","Mar","Api","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
/*請在這里填寫答案*/
int main(){
int year,month,day;
Date d1;
Date d2(d1);
cin>>year>>month>>day;
d1.setYear(year);
d1.setMonth(month);
d1.setDay(day);
d1.yesterday();
d1.chineseFormat();
cin>>year>>month>>day;
d2.setYear(year);
d2.setMonth(month);
d2.setDay(day);
d2.tomorrow();
d2.americaformat();
d2.printMonthCalendar();
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/269210.html
標籤:C++ 語言
上一篇:help
