E D R , A S I H C RSS

Calendar환희코드

아마도.cpp

#include <stdio.h>
#include "랄랄라랄라랄랄.h"


int main(void){
	int numberofDay, year, month;

	printf("원하시는 년도를 입력해주세요 : ");
	scanf("%d", &year);
	printf("1월 1일의 요일을 적어주세요(일요일:0 ~ 토요일 : 6) : ");
	scanf("%d", &numberofDay);

	while(numberofDay < 0 || numberofDay > 6){
		printf("다시 입력하세요 : ");
		scanf("%d", numberofDay);
	}

	printf("\n");
	for(month = 1;month <= 12;month++){

		달력출력(numberofDay, year, month);
		numberofDay = 몇요일로시작할까(numberofDay, year, month);

	}

	return 0;
}

랄랄라랄라랄랄.h

#include <stdio.h>

int 윤달계산(int year);
int 달력형식(int nameofDay, int year, int month);
int 달력출력(int 몇요일, int 몇년, int 몇월);
int 몇요일로시작할까(int 요일, int 년도, int 월);

랄랄라랄라랄랄.cpp

#include "랄랄라랄라랄랄.h"

int 윤달계산(int year){
	if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
		return 29;
	}
	else
	{
		return 28;
	}
}

int 달력형식(int nameofDay, int year, int month){

	printf("		     %d월, %d\n", month, year);
	printf("---------------------------------------------------\n");
	printf("Sun	Mon	Tue	Wed	Thu	Fri	Sat\n");
	switch(nameofDay){
		case 0:
		break;

		case 1:
		printf("\t");
		break;

		case 2:
		printf("\t\t");
		break;

		case 3:
		printf("\t\t\t");
		break;

		case 4:
		printf("\t\t\t\t");
		break;

		case 5:
		printf("\t\t\t\t\t");
		break;

		case 6:
		printf("\t\t\t\t\t\t");
		break;

		default:
		break;


			
	}
	return 0;
}


int 달력출력(int 몇요일, int 몇년, int 몇월){
	int endday, count일, count줄;
	
	if(몇월 == 1 || 몇월 == 3 || 몇월 == 5 || 몇월 == 7 || 몇월 == 8 || 몇월 == 10 || 몇월 == 12){
		endday = 31;
	}
	else if(몇월 == 4 || 몇월 == 6 || 몇월 == 9 || 몇월 == 11){
		endday = 30;
	}
	else
	{
		endday = 윤달계산(몇년);
	}

	달력형식(몇요일,몇년,몇월);

	for(count일 = 1, count줄 = 몇요일 + 1;count일 <= endday; count일++, count줄++){
		printf("%d\t", count일);
		if(count줄 == 7){
			printf("\n");
			count줄 = 0;
		}
	}
	printf("\n\n");
	return 0;
}

int 몇요일로시작할까(int 요일, int 년도, int 월){
	
	int endday;
	
	if(월 == 1 || 월 == 3 || 월 == 5 || 월 == 7 || 월 == 8 || 월 == 10 || 월 == 12){
		endday = 31;
	}
	else if(월 == 4 || 월 == 6 || 월 == 9 || 월 == 11){
		endday = 30;
	}
	else
	{
		endday = 윤달계산(년도);
	}

	return ((요일 + endday) % 7);
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:48
Processing time 0.0144 sec