customdate.cpp

来自「c++编程宝典源码及Quincy99编译器 是《标准C++编程宝典》电子工业出」· C++ 代码 · 共 52 行

CPP
52
字号
////////////////////////////////////////
// File Name: Customdate.cpp
////////////////////////////////////////
#include <iostream>
#include "CustomDate.h"

////////////////////////////////////////
// Constructor implementation.
////////////////////////////////////////
CustomDate::CustomDate(int yr, int da)
{
    if (yr < 1 || da < 1 || da > (IsLeapYear(yr) ? 366 : 365))
        return;
    int mo;
    for (mo = 1; mo < 13; mo++)
    {
        int dy = dys[mo-1];
        if (mo == 2 && IsLeapYear(yr))
            dy++;
        if (da <= dy)
            break;
        da -= dy;
    }
    SetDate(mo, da, yr);
}

////////////////////////////////////////
// GetDay() implementation.
////////////////////////////////////////
int CustomDate::GetDay() const
{
    int mo, da, yr;
    GetDate(mo, da, yr);
    int day = 0;
    for (int m = 1; m < mo; m++)
    {
        day += dys[m-1];
        if (m == 2 && IsLeapYear(yr))
            day++;
    }

    return day + da;
}

////////////////////////////////////////
// Display() implementation.
////////////////////////////////////////
void CustomDate::Display() const
{
    std::cout << GetDay() << '-' << GetYear();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?