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

1.思惟導圖及學習體會

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

1.2 學習體會

這個學期在上學期c語言的基礎上,開始了數據結構的學習,數據結構這門課程須要用到的鏈表結構不少,對於第一章的學習,我對數據結構這門課程有了初步的認知,第一章緒論的主要內容,首先時對於數據結構的介紹,數據是描述客觀事物的書和字符的合集,數據元素是數據的基本單位,數據元素又是由數據項組成的。邏輯結構是數據元素之間的邏輯關係,它的類型有集合,樹形,線性圖形這幾種,另一種是計算機存儲器中的存儲方式,即數據的存儲結構,有四種類型,順序,鏈式,索引,散列存儲結構。其次,第一章也介紹了算法,主要是有算法描述和分析這兩塊內容,算法描述主要是對於算法的定義和特色進行了介紹,算法分析則是說明了算法的設計目標和效率分析,效率分析主要是時間複雜度和空間複雜度。總結了一下,數據結構這一塊仍是須要對之前的知識進行復習和增強的,尤爲是鏈表這一塊。c++

2.大做業做業內容

設計日期的ADT類型

ADT Date
{
數據對象:
D={year,month,day|year,month,day屬於int 類型};
數據關係:
R={<year,month>,<month,day>};
數據操做:
void CreatInformation(int &Date,int year,int month,int day);
//初始化日期
//操做結果:構造三元組
int Judge(int
Date,ofstream& write);
//初始條件:Date存在,文件成功打開
//操做結果:判斷文件內的日期是否合法,合法返回1;
void Leapyear(int Date,ofstream& write);
//初始條件:Date存在,文件成功打開,日期合法
//操做結果:判斷年份是不是閏年而且將結果寫進文件
void Day(int
Date,ofstream& write);
//初始條件:Date存在,文件成功打開,日期合法
//操做結果:判斷日期是星期幾,而且將結果寫進文件
void Month(int Date,ofstream& write);
//初始條件:Date存在,文件成功打開,日期合法
//操做結果:將月份的英文單詞放回,寫進文件
void Icrease(int
Date,ofstream& write);
//初始條件:Date存在,文件成功打開,日期合法
//操做結果:計算增長後的日期,而且寫入文件
void CompareDate(int *Date,ofstream& write);
//初始條件:Date存在,文件成功打開。日期合法
//操做結果:與輸入的日期比較,而且寫入文件
int Judge2(int year,int month,int day);
//初始條件:輸入的年份日期符合 int類型
//操做結果:判斷日期是否合法,合法返回值1,不合法返回值0
}算法

2.2數據抽象:

2.3數據封裝說明

(1)構造三元組函數

(2)日期合法性判斷函數

(3)閏年判斷函數

(4)星期判斷函數

(5)英文月份返回函數

(6)增長天數計算函數

(7)日期比較函數

(8)日期合法性判斷函數2

(9)主函數

3.結果展現

文件input.txt中的數據:

運行界面:

文件output.txt中的結果:
數據結構

4.調試碰到的問題。

·Q1:首先是對於c++語法的不熟悉,文件打開語法和其餘語法
·A1:借鑑百度經驗和同窗的代碼參考
·Q2:文件指針定義錯誤,沒法正確打開文件
·A2:不使用宏定義,直接在每一個函數中定義
·Q3:日期比較函數和日期判斷函數沒法正確運行
·A3:更改了頭文件中的函數定義,修改了主函數中的引用函數

相關文章
相關標籤/搜索