題目:試仿照三元組或複數的抽象數據類型設計一個關於日期的抽象數據類型。c++
抽象數據類型名爲DATE。數組
&,new,delete,cin,cout
等c++語法。格式如:函數
2019 2 26 2000 13 9 2018 9 10 ......
上述數據能夠本身增長。學習
如:測試
2019/2/26 2019 不是閏年 2019/2/26是星期二 2019/2/26月份是February 2019/2/26+3是2019/3/1 2019/2/26>2018/3/4 2000 13 9 不是合法日期,月份不能超過12 。。。。(其餘日期輸出結果)
注意:上述代碼實現後,請把代碼複製到word文件中,上傳課堂派。
設計
參考代碼:q羣三元組代碼,用ADT的抽象數據模型描述你的日期數據類型。如調試
ADT Triplet{ 數據對象:D={e1,e2,e3|e1,e2,e3屬於ElemType類型} 數據關係:R1={<e1,e2>,<e2,e3>} 數據操做: Status InitTriplet(Triplet &T, ElemType v1, ElemType v2, ElemType v3); //操做結果:構造了三元組T,元素e1,e2和e3的值分別被賦以參數v1,v2,v3的值。 Status DestroyTriplet(Triplet &T); //操做結果:三元組T被銷燬。 Status Get(Triplet T, int i, ElemType &e); //初始條件:三元組T已存在,1<=i<=3。 //操做結果:用e返回T的第i元的值 Status Put(Triplet &T, int i, ElemType e); //初始條件:三元組T已存在,1<=i<=3。 //操做結果:改變T的第i元的值爲e。 。。。。。 }ADT Triplet
截圖展現你的頭文件。頭文件代碼務必加入註釋。code
#include "Common.h" #define ElemType int typedef ElemType * Triplet;//由InitTriplet分配3個元素存儲空間 Status InitTriplet(Triplet &T, ElemType v1, ElemType v2, ElemType v3); //操做結果:構造了三元組T,元素e1,e2和e3的值分別被賦以參數v1,v2,v3的值。 Status DestroyTriplet(Triplet &T); //操做結果:三元組T被銷燬。 Status Get(Triplet T, int i, ElemType &e); //初始條件:三元組T已存在,1<=i<=3。 //操做結果:用e返回T的第i元的值 。。。。。
截圖展現每一個運算操做代碼。並文字簡要介紹功能。如對象
作法:動態申請內存,分別把3個變量放入數組T中。ip
Status InitTriplet(Triplet &T, ElemType v1, ElemType v2, ElemType v3) { //操做結果:構造了三元組T,元素e1,e2和e3的值分別被賦以參數v1,v2,v3的值。 //T = (ElemType *)malloc(3 * sizeof(ElemType)); T=new ElemType[3]; if(!T) exit(OVERFLOW); //分配存儲空間失敗 T[0] = v1; T[1] = v2; T[2] = v3; return OK; } //InitTriplet
截圖展現你的輸入數據及輸出結果。截圖中能夠簡要文字描述每種功能
描述你調試中碰到問題及解決方法。