您的位置:首页 > 编程语言 > C语言/C++

C++面向对象类的实例题目三

2013-12-31 15:44 274 查看
编写一个程序,设计一个满足如下要求的CData类。

(1)用下面的格式输出日期:日/月/年
(2)输出在当前日期上加一天后的日期
(3)设置日期

code:
#include<iostream>
using namespace std;
class CData
{
public:
CData(int y,int m,int d);
void setdate(int y, int m, int d);
void display();
void add();
private:
int day;
int month;
int year;
};
CData::CData(int y,int m,int d)
{
day = d;
month = m;
year = y;
}
void CData::setdate(int y,int m,int d)
{
day = d;
month = m;
year = y;
}
void CData::display()
{
cout<<day<<"/"<<month<<"/"<<year<<endl;
}
void CData::add()
{
int a[2][12]={
{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}
};
if((year%400 == 0)||(year%100 !=0 && year%4 ==0))//闰年的情况
{
if(a[1][month-1]>day)day++;
else
{
month++;
if(month>12)
{
year++;
month = 1;
}
day = 1;
}
}
else							//平年的情况
{
if(a[0][month-1]>day)day++;
else
{
month++;
if(month>12)
{
year++;
month = 1;
}
day = 1;
}
}
}
int main()
{
CData date(2013,12,31);
date.display();
date.add();
date.display();
date.setdate(2014,11,11);
date.display();
date.add();
date.display();
return 0;
}


结果输出:
31/12/2013
1/1/2014
11/11/2014
12/11/2014
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: