题解 | 计算日期到天数转换

计算日期到天数转换

https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded

#include <iostream>
#include <iterator>
using namespace std;

class Data
{
public:
    Data(int year, int month, int day)
    {
        _year = year;
        _month = month;
        _day = day;
    }
    bool is_leap(int year)
    {
        return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
    }
    int GetMonthDay(int year, int month)
    {
        static int Month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
        if(is_leap(year) && month == 2)
            return 29;
        else return Month[month];
    }
    int GetDay(const Data& d)
    {
        int i = 1, result = d._day;
        while(i < d._month)
        {
            result += GetMonthDay(d._year, i);
            i++;
        }
        return result;
    }
    ~Data()
    {
        _year = 0;
        _month = 0;
        _day = 0;
    }
private:
    int _year;
    int _month;
    int _day;
};

int main()
{
    int year, month, day;
    cin >> year >> month >> day;
    Data d(year, month, day);
    cout << d.GetDay(d) << endl;
    return 0;
}

全部评论

相关推荐

被加薪的哈里很优秀:应该继续招人,不会给你留岗位的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务