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

来源:互联网 发布:高精度电子罗盘软件 编辑:程序博客网 时间:2024/05/22 02:12
编写一个程序,设计一个满足如下要求的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/20131/1/201411/11/201412/11/2014

2 0
原创粉丝点击