DS作業01 日期抽象資料型別設計與實現

2022-05-16 20:18:29 字數 2018 閱讀 4283

資料關係:r1=

資料操作:

status initdate(date &d, elemtype year, elemtype month, elemtype day);

//操作結果:構造了三元組d,日期中的年月日分別為year,month,day。

status leapyear(date d,ofstream &outfile);

//初始條件:三元組d存在

//操作結果:判斷是否閏年

status judgeweek(date d,ofstream &outfile);

//初始條件:三元組d存在

//操作結果:返回這個日期是星期幾

status monthnum(date d,ofstream &outfile);

//初始條件:三元組d存在

//操作結果:返回月份的英文名

status increasedays(date d,ofstream &outfile);

//初始條件:三元組d存在

//操作結果:返回當前日期增加days天的日期

status compare(date d,ofstream &outfile);

//初始條件:三元組d存在

//操作結果:比較當前日期與otherdate的邏輯關係

status judgedata(date d,ofstream &outfile);

//初始條件:三元組d存在

//操作結果:判斷日期是否合法

(1)構造三元組函式:動態申請記憶體,將變數存入陣列中

(2)判斷是否閏年函式:用if判斷日期中年份是否為閏年並輸出對應結果

(3)返回這個日期是星期幾函式:用公式計算出日期為週幾,結果輸出並寫入檔案

(4)返回月份的英文名函式:將月份英文名存入乙個二維陣列,然後輸出對應英文名

(5)返回當前日期增加days天的日期函式:通過計算總天數然後不斷減去對應月份的天數,來求出增加的月份以及年份

(6)比較當前日期與otherdate的邏輯關係:通過將日期轉換為數字進行比較大小

(7)判斷日期是否合法:月份不得超過12等,其他為非法日期

(1)執行結果

q1:比較兩個日期之間的關係時開始將年月日分開進行比較,有很長一段**而且看著很不清晰。

a1:後來在看了幾位同學的**後,學到了將日期數的比較轉化為數字大小的比較,**精簡了很多。

DS部落格作業01 日期抽象資料型別

操作關係 r 資料操作 void getdate int date,int year,int month,int day 構造三元組date,並對year,mo潘nth,day賦值 int judge int date,ofstream write 判斷year,month,day,是否合法 voi...

DS部落格作業01 日期抽象資料型別設計與實現

題目 試仿照三元組或複數的抽象資料型別設計乙個關於日期的抽象資料型別。抽象資料型別名為date。格式如 2019 2 26 2000 13 9 2018 9 10 上述資料可以自己增加。如 2019 2 26 2019 不是閏年 2019 2 26是星期二 2019 2 26月份是february ...

DS部落格作業01 日期抽象資料型別設計與實現

1.思維導圖及學習體會 上個學期因為本人水平不足,c語言的學習拖延了很多,導致現在的程式設計邏輯還是很差勁。我希望能盡力去彌補思維上的不足。現在又從c語言轉換成了c 兩者的區別更加多樣,想理解需要一定的努力。2.大作業作業內容 adt date 資料關係 r 資料操作 int initdate da...