ujn:【C++对象和类】日期类和对象升级版

Problem A: 【C++对象和类】日期类和对象

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 955  Solved: 571
[Submit][Status][Web Board]

Description

定义日期类current_date,包含

属性:day month year

方法:

(1)  给定三个参数的构造函数current_date((int dayVal, int monthVal,int yearVal) )

(2)assign_data(int dayVal, int monthVal,int yearVal) 用来给三个数据成员赋值,暂时不考虑非法赋值的情况.

(3) display_data()显示三个数据成员的值

(4) increment_date()功能是当前日期后一天的日期.

主函数中用assign_data给一个对象的数据成员赋值, 然后显示一下数据成员值,用increment_date算一下10天以后的日期,再显示一下日期值.

int main()
{
 int i, day,month,year;
 current_date mydate(10,1,2013);
 mydate.display_data();
 cin>>day>>month>>year;
 mydate.assign_data(day,month,year);

 for(i=1;i<=10;i++)
 {
   mydate.increment_date();
  
 }
 mydate.display_data();

 return 0;
}

Input

输入一个日期的各个数据成员变量值,顺序为:日  月 年, 数字之间用空格隔开即可

Output

输出日期的各项,注意,格式为月/日/年.

用increment_date算一下10天以后的日期,再显示一下日期值.

Sample Input

24 2 2015

Sample Output

1/10/2013
3/6/2015

# include<bits/stdc++.h>
using namespace std;
int a,b,c;
int x;
int ans[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
class date{
     private:
     int nian,month,day;
     public:
     date(){day=1,month=1,nian=2008;}
     date(int d,int m,int n):day(d),month(m),nian(n){}
     void co(){cout<<day<<'/'<<month<<'/'<<nian<<endl;}
     void in(){cin>>a>>b>>c;if(b>12)b%=12;if(a>ans[b])a%=ans[b];nian=c,month=b,day=a;}
     void add(){
        if(nian%400==0||(nian%4==0&&nian%100!=0)){ans[2]=29;}
    //    if(month>12)month%=12;if(day>ans[month])day%=ans[month];
         for(int t=1;t<=x;t++){
           day++;
           if(day>ans[month]){
             day=1;
             month++;
           }
           if(month==13){
             nian++;
             month=1;
           }
         }
     }
};
int main(){ 
     date d0,d1(1,5,2016),d2,d3;
     d0.co();
     d1.co();
     d2.in();
     d2.co();
     cin>>x;
     d3=d2;
     d3.add();
     d3.co();
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值