DS博客做業01--日期抽象數據類型設計與實現

日期抽象數據類型設計與實現

1.思惟導圖及學習體會

1.1第一章緒論知識點思惟導圖

1.2學習體會

經過一週的接觸,大體瞭解了數據結構是對數據的處理,是研究數據間的關係的,比起上學期的c語言來講,
我認爲學習數據結構將會更加吃力,畢竟數據是比較抽象的東西。
這一週也接觸了c++的語法,發現了c++比c簡潔得多,第一次在編程中運用c++語法,仍是很不熟練,常常
要去查找資料。

2.大做業做業內容

2.1 設計日期的ADT類型

ADT Date{
數據對象:
    D = {year,month,day | year,month,day屬於int類型}
數據關係:
    R = {<year,month>,<month,day>}
數據操做:
    Status DateDestroy(DATE &date);
     //銷燬 Date
     Status InitDate( DATE &date , ElemType year,  ElemType month, ElemType day);
     //構造日期結構
     Status IsLeapyear( ElemType year );
     //判斷是不是閏年 
     Status DateJudge(DATE date); 
     //操做結果:判斷是不是合法數據。
     Status WhichDay(DATE date,ofstream &outFile);
     //判斷是星期幾 
     Status WhichMonth( DATE date,ofstream &outFile);
     //判斷是幾月 
     Status AddDay(DATE date,ofstream &outFile);
     //增長一個天數 
      Status DoCompare(DATE date,ofstream &outFile);
      //與另外一個日期作比較 
}ADT Date

2.2.數據抽象:頭文件

Date.h
c++

2.3數據封裝說明

(1)構造日期數據結構

(2)銷燬Date函數

(3)判斷是不是閏年

(4)判斷是不是合法數據

(5)判斷是星期幾

(6)判斷是幾月份

(7)當前日期增長Add天的日期函數

(8)比較日期間的邏輯關係函數


3.結果展現






44.調試碰到問題

Q1:在計算任意給的日期是星期幾時,不知如何計算,參考同窗代碼發現基姆拉爾森計算公式能夠計算
因此在代碼中加入該公式
Q2:在判斷日期是不是合法數據時,閏年和非閏年要分開,後來發現能夠用數組來存放,在依照對二月
進行修改
Q3:在計算增長一個天數時,運用了c語言的判斷語句,使得代碼更爲簡潔
相關文章
相關標籤/搜索