C 언어로 달력 만들기 코드이다.
#include <stdio.h>
#include <stdlib.h>
void calendar( ) { int d=1, days, i, j=0, l, m, y, y2;
int dayofweek;
system("time/t");
system("date/t");
printf("Enter year and month. (like 2018 5)\n* ");
scanf("%d %d",&y, &m); getchar();
y2=y;
if( (y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
l=1;
else
l=0;
if(m == 4 || m == 6 || m == 9 || m == 11)
days=30;
else if(m == 2)
days=28+l;
else
days=31;
if(m < 3 )
d = d + y--;
else
d = d + y-2;
dayofweek = 23*m/9 + d+4 + y/4- y/100 + y/400;
dayofweek = dayofweek % 7;
printf("\n %4d - %2d\n\n", y2, m);
printf(" Sun,Mon,Tue,Wed,Thu,Fri,Sat\n");
while(dayofweek--){
j++;
printf(" ,");
}
for(i = j+1; i <=days+j; i++) {
printf("%3d,", i-j);
if(i%7==0) printf ("\n\n");
}
printf("\n\n3.1 5.5 -5.8 x5.22 6.6 8.15 ");
printf("10.3 10.9 12.25\n");
}
int main( ) {
calendar();
return 0;
}
실행결과는 다음과 같다.

여러 달을 한꺼번에 12개월의 달력을 출력하여 저장하려면, 다음 Batch 파일을 사용하면 된다. (Batch file의 이름은 calen.bat으로 저장한다.) 결과는 cal_12.csv 파일에 결과가 저장된다.
calen.bat 2022 라고 Command Window에서 입력하면
2022 년 1월 부터 12월 까지 한꺼번에 cal_12.csv 파일에 저장된다.
@echo off
if [%1]==[] (
echo.
echo Usage is as follows
echo.
echo %0 2022
echo %0 2023
echo .........
echo %0 2030
echo and so on.
echo.
goto :eof
)
echo. > cal_12.csv
for %%G in ( 1 2 3 4 ) do (
echo. >> cal_12.csv
)
for %%G in ( 1 2 3 4 5 6 7 8 9 10 11 12 ) do (
echo %1 %%G > t_e_m_p_x_y_z.txt
calen.exe < t_e_m_p_x_y_z.txt >> cal_12.csv
)
del t_e_m_p_x_y_z.txt
'C 언어' 카테고리의 다른 글
| C언어 scanf 로 한 줄 읽어 들이기 (0) | 2021.02.06 |
|---|---|
| C언어 한글 정렬하기 (3) | 2021.01.28 |
| 프로그램을 C 언어 문자열 배열에 저장하기 (1) | 2021.01.23 |
| MINGW64 설치하는 방법 (0) | 2021.01.22 |
| C 언어에서 right 함수 사용 (0) | 2021.01.21 |
댓글