Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Calendar성훈이코드: Difference between revisions

From ZeroWiki
imported>gnstjdok
No edit summary
(Repair batch-0001 pages from live compare)
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Calendar.h ==
== Calendar.h ==
 
#include <stdio.h>
#include <stdio.h>
 
void printCalender(int year, int first);
void printCalender(int year, int first);
void printFirstTab(int month, int year);
void printFirstTab(int month, int year);
int printDays(int month, int year, int leftDays);
int printDays(int month, int year, int leftDays);
void print_space();
void print_space();
void print_days(int day);
void print_days(int day);
int daysOfMonth(int month, int year);
int daysOfMonth(int month, int year);
int IsLeafYear(int year);
int IsLeafYear(int year);
== Calendar.cpp ==
 
#include "Calender.h"
void printCalender(int year, int first)
{
void printCalender(int year, int first)
int month, leftDays;
{
 
int month, leftDays;
for(month = 1 ; month <= 12 ; month++)
{
for(month = 1 ; month &lt;= 12 ; month++)
printFirstTab(month, year);
{
leftDays = printDays(month, year, first);
printFirstTab(month, year);
first = leftDays;
leftDays = printDays(month, year, first);
}
first = leftDays;
}
}
 
}
void printFirstTab(int month, int year)
{
void printFirstTab(int month, int year)
switch(month)
{
{
switch(month)
case 1:
{
printf(" January %d   \n", year);
case 1:
break;
printf(" January %d   \n", year);
case 2:
break;
printf(" February %d   \n", year);
case 2:
break;
printf(" February %d   \n", year);
case 3:
break;
printf(" March %d   \n", year);
case 3:
break;
printf(" March %d   \n", year);
case 4:
break;
printf(" April %d   \n", year);
case 4:
break;
printf(" April %d   \n", year);
case 5:
break;
printf(" May %d   \n", year);
case 5:
break;
printf(" May %d   \n", year);
case 6:
break;
printf(" June %d   \n", year);
case 6:
break;
printf(" June %d   \n", year);
case 7:
break;
printf(" July %d   \n", year);
case 7:
break;
printf(" July %d   \n", year);
case 8:
break;
printf(" August %d   \n", year);
case 8:
break;
printf(" August %d   \n", year);
case 9:
break;
printf(" September %d   \n", year);
case 9:
break;
printf(" September %d   \n", year);
case 10:
break;
printf(" October %d   \n", year);
case 10:
break;
printf(" October %d   \n", year);
case 11:
break;
printf(" November %d   \n", year);
case 11:
break;
printf(" November %d   \n", year);
case 12:
break;
printf(" December %d   \n", year);
case 12:
break;
printf(" December %d   \n", year);
}
break;
printf("---------------------------------------------------\n");
}
printf("Mon Tue Wed Thu Fri Sat Sun\n");
printf("---------------------------------------------------\n");
}
printf("Mon Tue Wed Thu Fri Sat Sun\n");
 
}
int printDays(int month, int year, int leftDays)
{
int printDays(int month, int year, int leftDays)
int cnt = 0;
{
int day = daysOfMonth(month, year);
int cnt = 0;
 
int day = daysOfMonth(month, year);
for(int i = 1 ; i <= leftDays ; i++)
{
for(int i = 1 ; i &lt;= leftDays ; i++)
print_space(); //print space leftDays times
{
cnt++;
print_space(); //print space leftDays times
}
cnt++;
 
}
for(int nowday = 1 ; nowday <= day ; nowday++) //print day from 1 to day
{
for(int nowday = 1 ; nowday &lt;= day ; nowday++) //print day from 1 to day
if(cnt == 7){
{
printf("\n");
if(cnt == 7){
cnt = 0;
printf("\n");
}
cnt = 0;
 
}
print_days(nowday);
cnt++;
print_days(nowday);
}
cnt++;
}
printf("\n\n");
return cnt;
printf("\n\n");
}
return cnt;
 
}
void print_space()
{
void print_space()
printf("\t");
{
}
printf("\t");
 
}
void print_days(int day)
{
void print_days(int day)
printf("%d\t", day);
{
}
printf("%d\t", day);
 
}
int daysOfMonth(int month, int year)
{
int daysOfMonth(int month, int year)
int days;
{
 
int days;
switch(month)
{
switch(month)
case 1:
{
case 3:
case 1:
case 5:
case 3:
case 7:
case 5:
case 8:
case 7:
case 10:
case 8:
case 12:
case 10:
days = 31;
case 12:
break;
days = 31;
break;
case 4:
case 6:
case 4:
case 9:
case 6:
case 11:
case 9:
days = 30;
case 11:
break;
days = 30;
 
break;
case 2:
if(IsLeafYear(year) == 0) days = 29;
case 2:
else days = 28;
if(IsLeafYear(year) == 0) days = 29;
break;
else days = 28;
}
break;
 
}
return days;
}
return days;
 
}
int IsLeafYear(int year)
{
int IsLeafYear(int year)
if(year%4 == 0)
{
return 0; //True
if(year%4 == 0)
 
return 0; //True
if(year%100 == 0)
return 1; //False
if(year%100 == 0)
 
return 1; //False
if(year%400 == 0)
return 0; //True
if(year%400 == 0)
else
return 0; //True
return 1; //False
else
}
return 1; //False
}
== main.cpp ==
== main.cpp ==
 
#include &lt;stdio.h&gt;
#include <stdio.h>
#include "Calender.h"
#include "Calender.h"
 
int main()
int main()
{
{
int year, first;
int year, first;
 
printf("Input the year : ");
printf("Input the year : ");
scanf("%d", &amp;year);
scanf("%d", &year);
printf("Input the first day of week in January (0:Mon -- 6:Sun)");
printf("Input the first day of week in January (0:Mon -- 6:Sun)");
scanf("%d", &amp;first);
scanf("%d", &first);
 
printCalender(year, first);
printCalender(year, first);
 
return 0;
fflush(stdin);
}
getchar();
return 0;
}
 

Latest revision as of 23:56, 26 March 2026

Calendar.h

#include <stdio.h>

void printCalender(int year, int first);
void printFirstTab(int month, int year);
int printDays(int month, int year, int leftDays);
void print_space();
void print_days(int day);
int daysOfMonth(int month, int year);
int IsLeafYear(int year);

Calendar.cpp

#include "Calender.h"

void printCalender(int year, int first)
{
	int month, leftDays;

	for(month = 1 ; month <= 12 ; month++)
	{
		printFirstTab(month, year);
		leftDays = printDays(month, year, first);
		first = leftDays;
	}
}

void printFirstTab(int month, int year)
{
	switch(month)
	{
		case 1:
			printf("		January		%d	   \n", year);
			break;
		case 2:
			printf("		February	%d	   \n", year);
			break;
		case 3:
			printf("		March		%d	   \n", year);
			break;
		case 4:
			printf("		April		%d	   \n", year);
			break;
		case 5:
			printf("		May		%d	   \n", year);
			break;
		case 6:
			printf("		June		%d	   \n", year);
			break;
		case 7:
			printf("		July		%d	   \n", year);
			break;
		case 8:
			printf("		August		%d	   \n", year);
			break;
		case 9:
			printf("		September	%d	   \n", year);
			break;
		case 10:
			printf("		October		%d	   \n", year);
			break;
		case 11:
			printf("		November	%d	   \n", year);
			break;
		case 12:
			printf("		December	%d	   \n", year);
			break;
	}
	printf("---------------------------------------------------\n");
	printf("Mon	Tue	Wed	Thu	Fri	Sat	Sun\n");
}

int printDays(int month, int year, int leftDays)
{
	int cnt = 0;
	int day = daysOfMonth(month, year);

	for(int i = 1 ; i <= leftDays ; i++)
	{
		print_space(); //print space leftDays times
		cnt++;
	}

	for(int nowday = 1 ; nowday <= day ; nowday++) //print day from 1 to day
	{
		if(cnt == 7){
			printf("\n");
			cnt = 0;
		}

		print_days(nowday);
		cnt++;
	}
	
	printf("\n\n");
	return cnt;
}

void print_space()
{
	printf("\t");
}

void print_days(int day)
{
	printf("%d\t", day);
}

int daysOfMonth(int month, int year)
{
	int days;

	switch(month)
	{
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			days = 31;
			break;
		
		case 4:
		case 6:
		case 9:
		case 11:
			days = 30;
			break;

		case 2:
			if(IsLeafYear(year) == 0) days = 29;
			else	days = 28;
			break;
	}

	return days;
}

int IsLeafYear(int year)
{
	if(year%4 == 0)	
		return 0; //True

		if(year%100 == 0)
			return 1; //False

			if(year%400 == 0)
				return 0; //True
	else
		return 1; //False
}

main.cpp

#include <stdio.h>
#include "Calender.h"

int main()
{
	int year, first;

	printf("Input the year : ");
	scanf("%d", &year);
	printf("Input the first day of week in January (0:Mon -- 6:Sun)");
	scanf("%d", &first);

	printCalender(year, first);

	return 0;
}