资源简介
用c++设计一个日期类Date,包括年、月、日等私有数据成员。要求实现日期的基本运算,如一日期加上天数、一日期减去天数、两日期相差的天数等。
代码片段和文件信息
#include
#include
class Date
{
public:
friend Date operator + (Date Day int Days);//返回一日期加一天数得到的日期
friend Date operator - (Date Day int Days);//返回一日期减去天数得到的日期
friend int operator - (Date &aDate &b);//返回两日期相差的天数
Date();//构造函数,初始化各变量
void input();
void output();
private:
bool leap(int years);// 判断指定的年份是否为闰年
int dton(Date& a);//将指定日期转换为从1年1月1日起的天数
Date ntod(int days);//将指定的1年1月1日起的天数转换为对应的日期
int year;
int month;
int day;
};
int main()
{
Date datedate1date2;
int daysdays1days2;
date.input();
cout << “The date you entered in is:\n“ << “date:“;
date.output();
cout << “******************************************************************************\n“;
cout << “Please enter the days you want to add:\n“;
cin >> days1;
cout << “******************************************************************************\n“;
date1=date+days1;
cout << “the date after add the days is:\n“ << “date1:“;
date1.output();
cout << “******************************************************************************\n“;
cout << “Please enter the days you want to minus:\n“;
cin >> days2;
cout << “******************************************************************************\n“;
date2=date1-days2;
cout << “the date after minus the days is:\n“ << “date2:“;
date2.output();
cout << “******************************************************************************\n“;
cout << “The days added and the days minused discrepancy is:\n“ << “date1-date2= “;
days=date1-date2;
cout << days << endl;
cout << “******************************************************************************\n“;
return 0;
}
void Date::input()
{
cout << “******************************************************************************\n“;
cout << “Please input a yearmonth and day!(like:1 1 1):\n“;
cin >> year >> month >> day;
if(year<0||month>12||month<1||day>31||day<1||(leap(year)&&month==2&&day>29)||(!leap(year)&&month==2&&day>28))
{//判断输入的日期是否合法
cout<<“Please input again!\nthe date you have entered is wrong!\n“;
}
cout << “******************************************************************************\n“;
}
void Date::output()
{
cout << year << “-“ << month << “-“ << day << endl;
}
bool Date::leap(int years)
{
if((years%4==0
- 上一篇:计算机图形学OpenGL画机器人
- 下一篇:C语言电子表格
相关资源
- VC++ 实现增大可执行文件的体积 自
- c++ primer plus 第6版 中文版pdf 高清完整
- C++跑酷游戏
- C++简单的画图程序源代码
- c++ builder实现文件粉碎机的源码
- 简单电子英汉词典c++
- C++程序设计语言:第1~3部分原书第4版
- c++程序设计 谭浩强第二版答案
- c++学生信息管理系统附带报告
- C++builder编写的简单科学计算器
- C++ QT中 通过UDP广播获取网络中所有设
- 课程设计哲学家就餐问题报告+代码
- 网桥自学习算法
- 路由器分组转发算法_计算机通信课程
- C++下操作access数据库
- C++精确定时定时器
- c++链表队列的实现
- 快速Hartley变换C++实现
- 停车场管理问题 C++/C数据结构
- C++课设高校人员信息管理系统.doc
- B+树的实现算法c++版
- 学校信息管理系统_visual stdio c++ .net
- 操作系统课程设计 文件管理 C C++
- 观察者模式 c++ 实现
- 分水岭算法c++代码
- c++windows用户管理
- DTW算法VC++实现 源代码非常好,注释非
- C++ 转 C# 工具破解版
- VC++ 中实现进制2进制,10进制,16进制
- 装载问题c++代码
评论
共有 条评论