C_C++

(C언어) 달력 만들기 (1년)

고니자니 2024. 7. 6. 08:38
반응형

달력을 C언어로 출력하는 프로그램을 작성하는 방법을 설명하겠습니다. 이 프로그램은 윤년을 고려하여 2024년의 각 달의 날짜를 정확하게 출력합니다.

먼저 2024년의 각 달이 몇 일인지 정의하고, 각 달의 시작 요일을 계산한 다음, 달력을 출력하는 방법을 구현합니다.

 

이 코드는 다음과 같은 주요 부분으로 구성됩니다:

  1. isLeapYear: 주어진 연도가 윤년인지 판단합니다.
  2. getDaysInMonth: 주어진 연도와 달에 해당하는 날짜 수를 반환합니다.
  3. getStartDayOfMonth: 주어진 연도와 달에 해당하는 첫 번째 날짜의 요일을 계산합니다.
  4. printCalendar: 주어진 연도와 달에 대한 달력을 콘솔에 출력합니다.
  5. main: 2024년의 각 달을 출력하는 메인 함수입니다.

이 코드를 실행하면 2024년의 각 달의 달력을 콘솔에 출력할 수 있습니다.

#include <stdio.h>

// 윤년 여부를 판단하는 함수
int isLeapYear(int year) {
    if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
        return 1;
    else
        return 0;
}

// 각 달의 일 수를 반환하는 함수
int getDaysInMonth(int year, int month) {
    int daysInMonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    if (month == 2 && isLeapYear(year))
        return 29;
    else
        return daysInMonth[month - 1];
}

// 달의 시작 요일을 반환하는 함수
int getStartDayOfMonth(int year, int month) {
    int day = 1, y, m;
    static int dayOfWeek[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };
    year -= month < 3;
    return (year + year / 4 - year / 100 + year / 400 + dayOfWeek[month - 1] + day) % 7;
}

// 특정 달의 달력을 출력하는 함수
void printCalendar(int year, int month) {
    char* monthName[] = { " 1월", " 2월", " 3월", " 4월", " 5월", " 6월",
                         " 7월", " 8월", " 9월", "10월", "11월", "12월" };
    int days = getDaysInMonth(year, month);
    int startDay = getStartDayOfMonth(year, month);

    printf("\n\t%s\n", monthName[month - 1]);
    printf("일 월 화 수 목 금 토\n");

    for (int i = 0; i < startDay; i++) {
        printf("   ");
    }

    for (int day = 1; day <= days; day++) {
        printf("%2d ", day);

        if ((day + startDay) % 7 == 0) {
            printf("\n");
        }
    }
    printf("\n");
}

int main() {
    int year = 2024;

    for (int month = 1; month <= 12; month++) {
        printCalendar(year, month);
    }

    return 0;
}

(C언어) 달력 만들기

 

 


파이썬 달력 만들기

https://coding-abc.kr/301

 

(파이썬) calendar 모듈로 2024년 달력 출력하기

달력을 출력하기 위해 파이썬의 calendar 모듈을 사용할 수 있습니다. 이 모듈은 달력과 관련된 다양한 기능을 제공하여 손쉽게 원하는 연도의 달력을 생성할 수 있게 해줍니다. 다음은 2024년의

coding-abc.kr

 

반응형