본문 바로가기

Programming/C Programming

C(C언어) 일(day)을 입력받아 몇년 몇개월 몇주 몇일 인지 출력하는 프로그램

/******************************************
********일을 입력받아 몇년몇개월몇주*******
*******몇일인지 출력하는 C프로그래밍*******
*******************************************
***********작성자 : 전 영 호***************
******************************************/

// 1개월은 30일. 0이 아닌 값들 출력.

#include<stdio.h>
#include<stdlib.h>


void Day(int day){
 printf("%d일 ", day);
}


void Week(int day){

 int W, D;
 W = day/7;
 D = day%7;
 printf("%d주 ", W);
 if(D>0) printf("%d일 ", D);
 
}


void Month(int day){
 int temp;
 int M, W, D;
 M = day/30;
 temp = day%30;    //temp = 월을 제외한 수
 W = temp/7;     // 몇 주인지.
 D = temp%7;    // 몇 일인지.
 printf("%d월 ", M);
 if(W>0) printf("%d주 ", W);
 if(D>0) printf("%d일 ", D);
}


void Year(int day){
 int temp, temp1;
 int Y, M, W, D;
 Y = day/360;
 temp = day%360;    //temp = 년 을 제외한 수
 M = temp/30;    // 몇 개월인지.
 temp1 = temp%30;   //주를 구하기 위한 임시변수
 W = temp1/7;
 D = temp1%7;
 printf("%d년 ", Y);
 if(M>0) printf("%d월 ", M);
 if(W>0) printf("%d주 ", W);
 if(D>0) printf("%d일", D);
}

 

int main(){
 int day;
 printf(" 날짜를 입력하세요. >> ");
 scanf("%d", &day);
 if(day<=0){
  printf("0 혹은 음수를 입력하여 종료합니다.");
  return 0;
 }
 printf("*******************************************\n");
 printf("일수 : %d\n", day);
 printf("%d일 --->> ", day);


 if(day<7)   Day(day);                        //day 크기를 고려하여 함수 호출.
 else if(day<30)  Week(day);
 else if(day<360) Month(day);
 else if(day>=360) Year(day);
 
 printf("\n");    //개행
 printf("*******************************************\n");

 system("Pause");
 return 0;
 

}