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

1.思惟導圖及學習體會

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

1.2 學習體會

(1)以前有了解過c++,c++是兼容C的面向過程和麪向對象的程序設計語言,語法更加方便,更加智能,cout、cin、string即是一些例子,
    以前接觸圖像界面是入門級的easyx,後來瞭解到c++寫的qt,但願學習c++以後能夠學習qt。
(2)數據結構理論較多,代碼相對上學期來講比較抽象,算法比較高深,須要更好的思惟。
(3)這個星期代碼量感受很少,更可能是概念,難度更大,數據封裝要求更高,寫代碼解決問題的同時也要考慮性能了。

2.大做業做業內容

2.1 設計日期的ADT類型

ADT Date{
數據對象:
             D = {year,month,day | year,month,day屬於int類型}
數據關係:
            R = {<year,month>,<month,day>}
數據操做:
void  InitTriplet(TIME *&head);//讀入日期
//構造三元組,year,month,day對三元組進行賦值。
void Put(TIME const &T);//輸出日期
//判斷日期是否合法,並輸出相應提示
void SeekWeek(TIME  T);//計算星期
//輸出是星期幾
void CheckDate(TIME const &T,int &flag);//檢查是否合法
//檢查日期是否合法,並提示
void LeapYear(TIME const &T);//判斷是否閏年
//判斷年份是不是閏年,並輸出結果
void SeekMonth(TIME const &T);//月份單詞
//輸出相應月份英文
void DateAdd(TIME T);//日期加法
//用戶輸入一個天數,計算加上天數後的日期並輸出結果
void CompareTime(TIME T);//日期比較
//用戶輸入一個日期,比較兩個日期並輸出結果
void DeleteList(TIME *&head);//鏈表刪除

2.2.數據抽象:頭文件

typedef struct Time//結構體
{
    int year;
    int month;
    int day;
    struct Time *next;
}TIME;
void  InitTriplet(TIME *&head);//讀入日期
//構造三元組,year,month,day對三元組進行賦值。
void Put(TIME const &T);//輸出日期
//判斷日期是否合法,並輸出相應提示
void SeekWeek(TIME  T);//計算星期
//輸出是星期幾
void CheckDate(TIME const &T,int &flag);//檢查是否合法
//檢查日期是否合法,並提示
void LeapYear(TIME const &T);//判斷是否閏年
//判斷年份是不是閏年,並輸出結果
void SeekMonth(TIME const &T);//月份單詞
//輸出相應月份英文
void DateAdd(TIME T);//日期加法
//用戶輸入一個天數,計算加上天數後的日期並輸出結果
void CompareTime(TIME T);//日期比較
//用戶輸入一個日期,比較兩個日期並輸出結果
void DeleteList(TIME *&head);//鏈表刪除

2.3數據封裝說明

(1)構造三元組函數


(2)判斷日期是否合法


(3) 輸出規範日期

(4)計算星期

(5)判斷是否閏年

(6)輸出月份英文

(7)日期加法




(8)日期比較


(9)刪除鏈表

(10)主函數


3.結果展現

4.調試碰到問題

1.c++瞭解很少
2.這次做業結構相對簡單,問題很少
相關文章
相關標籤/搜索