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.此次作业结构相对简单,问题不多
posted @ 2019-03-04 21:30  codedawn  阅读(598)  评论(0编辑  收藏  举报