[YTU]

xiaoxiao2021-02-28  59

题目描述

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

本题只需要提交填空部分

#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.year0!=0)||c.year@0==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.year0!=0)||c.year@0==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; }
转载请注明原文地址: https://www.6miu.com/read-53229.html

最新回复(0)