[c++] 캘린더 기능 구현

이번에는 C++를 사용하여 캘린더 기능을 구현하는 방법에 대해 알아보겠습니다.

1. 캘린더 클래스 작성

먼저, 캘린더 클래스를 작성하는 것으로 시작합니다. 이 클래스에는 연도, 월, 일과 같은 날짜 관련 멤버 변수들이 포함됩니다.

class Calendar {
private:
    int year;
    int month;
    int day;

public:
    Calendar(int y, int m, int d) : year(y), month(m), day(d) {}

    void setYear(int y) { year = y; }
    void setMonth(int m) { month = m; }
    void setDay(int d) { day = d; }

    int getYear() { return year; }
    int getMonth() { return month; }
    int getDay() { return day; }
};

2. 기능 구현

다음으로, 다양한 캘린더 관련 기능들을 구현해보겠습니다. 예를 들어, 특정 연도의 윤년 여부를 확인하거나 특정 월의 일 수를 반환하는 함수를 작성할 수 있습니다.

class Calendar {
    // ... (이전 코드와 동일)

public:
    // ...

    bool isLeapYear(int year) {
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
            return true;
        }
        return false;
    }

    int getDaysInMonth(int year, int month) {
        if (month == 2) {
            if (isLeapYear(year)) {
                return 29;
            } else {
                return 28;
            }
        } else if (month == 4 || month == 6 || month == 9 || month == 11) {
            return 30;
        } else {
            return 31;
        }
    }
};

3. 활용 예시

이제 작성한 캘린더 클래스를 활용하는 예시를 보겠습니다.

int main() {
    Calendar myCalendar(2022, 10, 31);
    int year = myCalendar.getYear();
    int month = myCalendar.getMonth();
    int day = myCalendar.getDay();

    bool leapYear = myCalendar.isLeapYear(year);
    int daysInMonth = myCalendar.getDaysInMonth(year, month);

    // ... (다양한 활용 예시)
}

이제 여러분은 C++를 사용하여 간단한 캘린더 기능을 구현하는 방법에 대해 알게 되었습니다.

참고 문헌: