• 大小: 5KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: C/C++
  • 标签: c++  日期类  

资源简介

用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

评论

共有 条评论