zoukankan      html  css  js  c++  java
  • Date类(课后11.3)

    【问题描述】
    定义一个满足如下要求的Date类
    (1)用下面的格式输出日期
    日/月/年
    (2)可运行在日期上加一天的操作
    (3)设置日期

    【输入形式】
    输入原始日期以及新的日期

    【输出形式】
    输出原始日期加一天后的日期,以及设置新日期后的日期

    【样例输入】
    2018 11 30
    2020 2 9

    【样例输出】
    after add: 1/12/2018
    new date: 9/2/2020

    【提示】
    冒号后面有一个空格

    #include <iostream>
    using namespace std;
    
    class Date
    {
    private:
        int m_year,m_month,m_day;
    public:
        //构造函数
        Date(int year,int month,int day);
        //功能函数
        void AddDay();//原始日期加后一天
        void SetDate(int year,int month,int day);//设置新日期
        void ShowDate();//显示日期
    };
    
    Date::Date(int year,int month,int day)//构造函数
    {
        m_year = year; m_month = month; m_day = day;
    }
    
    void Date::AddDay()//原始日期加后一天
    {
        if( (m_month==1 || m_month==3 || m_month==5 || m_month==7 || m_month==8 || m_month==10) && m_day==31 )
        {
            m_day=1;m_month++;
        }
        if( m_month==12 && m_day==31 )
        {
            m_day=1;m_month=1;m_year++;
        }
        if( (m_month==4 || m_month==6 || m_month==9 || m_month==11) && m_day==30 )
        {
            m_day=1;m_month++;
        }
        if( (m_month==2 && ( ( m_year%4==0 && m_year%100!=0 ) || ( m_year%400==0 ) )) && m_day==29 )
        {
            m_day=1;m_month++;
        }
        if( (m_month==2 && ( ( m_year%4!=0 ) || ( m_year%100==0 && m_year%400!=0 ) )) && m_day==28 )
        {
            m_day=1;m_month++;
        }
    }
    
    void Date::SetDate(int year,int month,int day)//设置新日期
    {
        m_year = year; m_month = month; m_day = day;
    }
    
    void Date::ShowDate()//显示日期
    {
        cout << m_day << "/" << m_month << "/" << m_year << endl;
    }
    
    int main()
    {
        int year1,month1,day1,year2,month2,day2;
        cin >> year1 >> month1 >> day1;
        cin >> year2 >> month2 >> day2;
        Date date(year1,month1,day1);
        cout << "after add: ";
        date.AddDay();
        date.ShowDate();
        cout << "new date: ";
        date.SetDate(year2,month2,day2);
        date.ShowDate();
        return 0;
    }
    
    
  • 相关阅读:
    Java编程思想读书笔记 第十章 内部类
    利用lambda和条件表达式构造匿名递归函数
    概率论与数理统计-课程小报告
    leetcode226 翻转二叉树
    leetcode199 二叉树的右视图
    leetcode114- 二叉树展开为链表
    leetcode145 二叉树的后序遍历 特别注意迭代
    leet144 二叉树的前序遍历
    leetcode113 路径总和2 特别关注
    leetcode 112 路径总和 特别关注
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626156.html
Copyright © 2011-2022 走看看