1.思维导图及学习体会
1.1第一章绪论知识点思维导图
1.2 学习体会
经过上个学期的学习,我对C语言的使用已经有了一定的了解,对编程的体会也算小有收获。但经过一个寒假,我的编程熟练度大大降低,许多知识都遗忘了。于是在新学期之初,面对老师布置的第一项大作业时,不懂c++语法的我几乎无从下手。去查百度,去博客园上看其他学的好的同学的代码,发现自己是越看越乱,越看越不清醒。好在之后听了别人的讲解,把思路缕清,回去终于把代码写好了。由此可见,只有平时多练练手,学习新知识,才能不慌不忙地完成每一项作业。还有就是,c++比C语言更加方便,我应该多问问同学,尽早学会使用vs。
2.大作业
2.1设计日期的ADT类型
ADT Date
{
数据对象:
D={year,month,day|year,month,day属于ElemType类型}
数据关系:
R={<year,month>,<month,day>};
数据操作:
{
void InitDate(Date &date,ElemType year,ElemType month,ElemType day);
//初始化日期
int Islegal(Date date);
//判断日期是否合法
int Isleapyear(Date &date);
//判断是否闰年
string Isday(Date &date);
//返回星期几
void AddDays(Date date,ElemType sign,ofstream &out);
//返回当前日期增加days天的日期
void Relation(Date date,ofstream &out);
//比较两个日期的逻辑关系
string ReturnName(Date date);
//返回月份的英文名
Status Destroy(Date &date);
//销毁date
}
}
2.2数据抽象:头文件
2.3数据封装说明
2.3.1主函数
2.3.2初始化日期
2.3.3判断日期是否合法
2.3.4判断是否闰年
2.3.5判断是星期几
2.3.6当前日期增加days天的日期
2.3.7比较两个日期的逻辑关系
2.3.8返回该月份的英文名
2.3.9销毁date
3.结果展示
3.2运行结果
3.3out.txt
4.调试碰到的问题
- 1.为了搞懂c++文件语法花了很长时间,后来经过反复测试,终于学会用了。
- 2.在写比较两个日期大小的函数时,想在函数中传出string类型的s=手动输入的年+月+日+大小判断符号然后写入文件,但发现传不出来,才发现自己输入的是年月日是int类型。于是后来就在该函数中写了文件指针,直接在该函数中写入文件。