zoukankan      html  css  js  c++  java
  • [YTU]_2911(我想放假)

    题目描述

    小明的弟弟上小学了,每次刚入学就想知道什么时候放假,但是每学期开学的日子和每学期的有效天数都不一样,请你编程帮他计算放假日期。

    本题只需要提交填空部分

    #include <iostream>
    using namespace std;
    class Date
    {
    public:
        void input(int y,int m,int d);
        friend Date operator+(Date &c,int &day);
        void display();
    private:
        int year;
        int month;
        int day;
    };

    void Date::input(int y,int m,int d)
    {
        year=y;
        month=m;
        day=d;
    }
    Date operator+(Date &c,int &day)
    {
        /*********************/

                  填空部分

        /*********************/
    }

    void Date::display()
    {
        cout<<year<<"/"<<month<<"/"<<day<<endl;
    }
    int main()
    {
        Date date1,date2;
        int y,m,d;
        int day;
        cin>>y>>m>>d;
        date1.input(y,m,d);
        cin>>day;
        date2=date1+day;
        date2.display();
        return 0;
    }

    输入

    第一行输入开学的年月日,以空格隔开;第二行输入本学期的有效天数

    输出

    输出计算后得到的放假日期,格式为年/月/日。

    样例输入

    2008 2 29
    140

    样例输出

    2008/7/18
    #include <iostream> 
    using namespace std; 
    class Date 
    { 
    public: 
        void input(int y,int m,int d); 
        friend Date operator+(Date &c,int &day); 
        void display(); 
    private: 
        int year; 
        int month; 
        int day; 
    }; 
       
    void Date::input(int y,int m,int d) 
    { 
        year=y; 
        month=m; 
        day=d; 
    } 
    Date operator+(Date &c,int &day) 
    { 
     int array[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        if((c.year%4==0&&c.year%100!=0)||c.year%400==0)
            array[2]=29;
        c.day+=day;
        while(c.day>array[c.month])
        {
            c.day-=array[c.month];
            ++c.month;
            if(c.month>12)
            {
                ++c.year;
                c.month-=12;
            }
            array[2]=((c.year%4==0&&c.year%100!=0)||c.year%400==0)?29:28;
        }
        return c;
    } 
       
    void Date::display() 
    { 
        cout<<year<<"/"<<month<<"/"<<day<<endl; 
    } 
    int main() 
    { 
        Date date1,date2; 
        int y,m,d; 
        int day; 
        cin>>y>>m>>d; 
        date1.input(y,m,d); 
        cin>>day; 
        date2=date1+day; 
        date2.display(); 
        return 0; 
    } 
    
    

  • 相关阅读:
    艾伟:WinForm控件开发总结(三)认识WinForm控件常用的Attribute 狼人:
    break while(1)
    从“不太差”到“卓越”
    分享一种需求评审的方案
    高德地图 android api 实现自动定位
    Java Class Loader解析
    JAVA IO 设计模式彻底分析
    [latex]PGF 和 tikz中如何旋转图形的示例
    算法笔记之 并查集入门 POJ 1611
    Vector 和 ArrayList 哪一个更好? 为什么?
  • 原文地址:https://www.cnblogs.com/sxy201658506207/p/7586336.html
Copyright © 2011-2022 走看看