题目:试仿照三元组或复数的抽象数据类型设计一个关于日期的抽象数据类型。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
截图展现你的输入数据及输出结果。截图中能够简要文字描述每种功能
描述你调试中碰到问题及解决方法。