习题2.8-日期类

//算法思想:水题,不会有闰年,往上莽就是了
#include<iostream>
using namespace std;

int num[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main(){
    int n,y,m,d;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d%d%d",&y,&m,&d);
        if(++d>num[m]){
            d=1;
            if(++m>12) y++;
        }
        printf("%04d-%02d-%02d\n",y,m,d);
    }
    return 0;
}

 

发布了69 篇原创文章 · 获赞 5 · 访问量 6508
展开阅读全文

c++ 日期 求大神指教

04-03

描述 给定日期类的声明 class Date{ public: Date(int d = 0, int m = 0, int y = 0); //构造函数 int get_day() const; // 返回day int get_month() const; //返回month int get_year() const; // 返回year static void set_default(int, int, int); static int get_default_day(); //返回缺省day static int get_default_month(); //返回缺省month static int get_default_year(); //返回缺省year Date & add_year(int n); //加n年 Date & add_month(int n); //加n月,考虑超过12月,考虑闰年 Date & add_day(int n); //加n天,考虑进位月和年,考虑闰年 private: int day, month, year; static Date default_date; //初始化为 1901年1月1日 }; 实现这个类并用以下的main函数测试它。 int main(){ char type[110]; int day,mon,year; int addday,addmon,addyear; while(cin>>type){ if(strcmp(type,"Date") == 0){ cin>>day>>mon>>year; Date mydate(day,mon,year); cin>>addday>>addmon>>addyear; mydate.add_day(addday).add_month(addmon).add_year(addyear); cout << mydate.get_day() << " " << mydate.get_month() << " " << mydate.get_year() << endl; }else if(strcmp(type,"defalutDate") == 0){ cout << Date::get_default_day() << " " << Date::get_default_month() << " " << Date::get_default_year() << endl; }else if(strcmp(type,"setdefaultDate") == 0){ cin>>day>>mon>>year; Date::set_default(day,mon,year); cout << Date::get_default_day() << " " << Date::get_default_month() << " " << Date::get_default_year() << endl; } } return 0; } 输入 多组输入,每一组输入以一个 type来判断输入类型,如果是'Date',那么就输入当前设置的日期以及要加的天数;如果是'defaultDate',那么就是直接输出默认日期;如果是'setdefaultDate',那么就输入要设置的默认日期。 输出 输出计算后得到的日期。 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览