這個學期在上學期c語言的基礎上,開始了數據結構的學習,數據結構這門課程須要用到的鏈表結構不少,對於第一章的學習,我對數據結構這門課程有了初步的認知,第一章緒論的主要內容,首先時對於數據結構的介紹,數據是描述客觀事物的書和字符的合集,數據元素是數據的基本單位,數據元素又是由數據項組成的。邏輯結構是數據元素之間的邏輯關係,它的類型有集合,樹形,線性圖形這幾種,另一種是計算機存儲器中的存儲方式,即數據的存儲結構,有四種類型,順序,鏈式,索引,散列存儲結構。其次,第一章也介紹了算法,主要是有算法描述和分析這兩塊內容,算法描述主要是對於算法的定義和特色進行了介紹,算法分析則是說明了算法的設計目標和效率分析,效率分析主要是時間複雜度和空間複雜度。總結了一下,數據結構這一塊仍是須要對之前的知識進行復習和增強的,尤爲是鏈表這一塊。c++
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
}算法
文件input.txt中的數據:
運行界面:
文件output.txt中的結果:
數據結構
·Q1:首先是對於c++語法的不熟悉,文件打開語法和其餘語法
·A1:借鑑百度經驗和同窗的代碼參考
·Q2:文件指針定義錯誤,沒法正確打開文件
·A2:不使用宏定義,直接在每一個函數中定義
·Q3:日期比較函數和日期判斷函數沒法正確運行
·A3:更改了頭文件中的函數定義,修改了主函數中的引用函數