Search

'달력'에 해당되는 글 5건

  1. 2014.04.05 C 언어 달력 소스코드
  2. 2013.12.15 달력 만들기 실습 1
  3. 2013.08.02 C언어 달력 소스코드
  4. 2012.07.23 C 달력 소스코드 2
  5. 2012.07.21 CPP 달력 소스코드

C 언어 달력 소스코드

실습과제 모음 2014. 4. 5. 15:09 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <stdio.h>

 

int isLeapYear(int year);

int totalDaysYearMonth(int year, int month);

// year : 년도month : 월을입력하면그년도그월의총일수가

// 반환된다.

int totalDaysYear(int year);

int firstDayOfYear(int year);

 

int DayOfWeekYearMonth(int year, int month);

// year : 년도month : 월을입력하면그년도그월의요일이

// 반환된다.

 

int main( )

{

    int year;

    int month;

    int i;

    int totalDay = 0;

    printf(",월을입력하시오:");

    scanf("%d,%d", &year, &month);

 

    printf("%d\n", DayOfWeekYearMonth(year, month));

 

    return 0;

}

 

int DayOfWeekYearMonth(int year, int month)

{

    int i;

    int totalDay = 0;

 

    totalDay = firstDayOfYear(year);

    for( i = 1 ; i < month ; i++)

    {

        totalDay += totalDaysYearMonth(year, i);

    }

    return totalDay % 7;

}

 

int firstDayOfYear(int year)

{

    int i;

    int totalDay = 0;

    for ( i = 1980 ; i < year ; i++ )

    {

        totalDay += totalDaysYear(i);

    }

    return totalDay % 7;

}

int totalDaysYear(int year)

{

    if( isLeapYear(year) )

    {

        return 366;

    }

    else

    {

        return 365;

    }

}

int totalDaysYearMonth(int year, int month)

{

 

    if( month == 1 || month == 3 ||

        month == 5 || month == 7 ||

        month == 8 || month == 10 ||

        month == 12 )

    {

        return 31;

    }

    else

    {

        if( month == 2 )

        {

            if( isLeapYear(year) )

            {

                return 29;

            }

            else

            {

                return 28;

            }

        }

        else

        {

            return 30;

        }

    }

}

int isLeapYear(int year)

{

    if( ( (year % 4 == 0 && year % 100 != 0) || year % 400 == 0) )

    {

        return 1;

    }

    else

    {

        return 0;

    }

}

'실습과제 모음' 카테고리의 다른 글

studentInfo 실습  (1) 2014.04.19
C 배열 연습문제  (0) 2014.04.13
C 배열 실습 10명 성적처리  (0) 2014.04.05
별 찍기 예제 #3  (0) 2014.03.29
별 찍기 예제 #2  (0) 2014.03.29

달력 만들기 실습

실습과제 모음 2013. 12. 15. 10:36 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

2013

12

1

2 3 4 5 6 7 8

....

1. 프로그램 (윤년 판단)

input 2013

output 평년

input 2012

output 윤년


2. 프로그램 ( x년도 1월 1일은 무슨 요일)

input 2013

output 월요일

input 2012

output 화요일


3. 프로그램 ( x년도 y월은 총 몇 일)

input 2013 12

output 31

input 2012 11

output 30



'실습과제 모음' 카테고리의 다른 글

CPP 함수 실습  (0) 2013.12.22
달력 만들기 실습 결과  (0) 2013.12.15
게시판에 간단한 채팅방 만들기  (0) 2013.11.28
JAVA 실습 2013 11 23  (0) 2013.11.23
C 언어 과제 11/23  (0) 2013.11.23

C언어 달력 소스코드

Programming/C,CPP,CS 2013. 8. 2. 17:51 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
/*
 * main.c

 *
 *  Created on: 2013. 8. 1.
 *      Author: Administrator
 */
#include 
int monthDay(int year, int month) {
	int result;

	if (month == 1 || month == 3 || month == 

5 || month == 7 || month == 8
			|| month == 10 || 

month == 12) {
		result = 31;
	} else if (month == 4 || month == 6 || 

month == 9 || month == 11) {
		result = 30;
	} else if (month == 2) {
		if (((year % 4 == 0) && (year % 

100 != 0)) || (year % 400 == 0)) {
			result = 29;
		} else {
			result = 28;
		}
	}

	return result;
}
int monthDayName( year, month) {
	int result;
	int dayCount = 0;
	int i, j;
	// 기준점 : 1900년 1월 1일 은 월요일이다.
	// 월요일 : 2

	// 1 : 일요일
	// 2 : 월요일
	// 3 : 화요일
	// 4 : 수요일
	// 5 : 목요일
	// 6 : 금요일
	// 7 : 토요일

	// 1903
	for (j = 1900; j < year; j++) {
		for (i = 1; i < 13; i++) {
			dayCount += 

monthDay(j, i);
		}
	}
	// 2013 3
	// 2013 +1
	// 2013 +2
	for (i = 1; i < month; i++) {
		dayCount += monthDay(year, 

i);
	}

	result = (dayCount + 2) % 7;
	return result;
}
void printTitle(int year, int month) {
	printf("\n       %d 년 %d 월 \n", year, 

month);
	printf("일  월  화  수  목  금  토\n");
}
void printBody(int year, int month) {
	int dayName;
	int i;
	dayName = monthDayName(year, month);
	for (i = 1; i < dayName; i++) {
		printf("    ");
		fflush(stdout);
	}

	for (i = 1; i < monthDay(year, month); 

i++) {
		printf("%2d  ", i);
		fflush(stdout);
		if ((dayName + i - 1) % 7 == 0) {
			printf("\n");
			fflush(stdout);
		}
	}

}
int main() {

	int month;			// 

사용자로부터 입력 받을 값 저장
	int year;			// 사용자로부

터 입력 받을 값 저장
	int totalDay;		// n! 를 구한 

결과값
	int dayName;		// n! 를 구한 

결과값

	printf("일자를 구할 연도를 입력하세요 : ");
	fflush(stdout);
	scanf("%d", &year);
	printf("일자를 구할 달을 입력하세요 : ");
	fflush(stdout);
	scanf("%d", &month);

	totalDay = monthDay(year, month);

	dayName = monthDayName(year, month);

	printf("%d 년 %d 월은 총 %d일 입니다.\n", 

year, month, totalDay);

	switch (dayName) {
	case 1:
		printf("%d 년 %d 월 1일은 일요일 

입니다.\n", year, month);
		break;
	case 2:
		printf("%d 년 %d 월 1일은 월요일 

입니다.\n", year, month);
		break;
	case 3:
		printf("%d 년 %d 월 1일은 화요일 

입니다.\n", year, month);
		break;
	case 4:
		printf("%d 년 %d 월 1일은 수요일 

입니다.\n", year, month);
		break;
	case 5:
		printf("%d 년 %d 월 1일은 목요일 

입니다.\n", year, month);
		break;
	case 6:
		printf("%d 년 %d 월 1일은 금요일 

입니다.\n", year, month);
		break;
	case 0:
		printf("%d 년 %d 월 1일은 토요일 

입니다.\n", year, month);
		break;
	}

	printTitle(year, month);
	printBody(year, month);

	return 0;
}


C 달력 소스코드

Programming/C,CPP,CS 2012. 7. 23. 04:30 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <stdio.h>

#include <windows.h>   // 콘솔색상을바꾸기위해서선언

 

#define leapyear(year) ((year)%4==0 && ( (year)%100!=0 || (year)%400==0 )) //윤년판정매크로

 

// Console 글씨색상을바꾸는함수

void SetConsoleTextColor(int bgcolor , int color);

 

int main(void)

{

    int year, month=0;

    int totalday[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

    int lastyear, day, i;

    FILE * fp = fopen("output5.txt", "wt"); //output5.txt에출력하기위해오픈한다.

 

    printf("몇년의달력을출력하시겠습니까?: ");

    scanf("%d",&year);

    printf("몇월의달력을출력하시겠습니까?: ");

    scanf("%d",&month);

    if(month==2 && leapyear(year))  totalday[2]=29;

    lastyear = year-1;

    {

        day = (lastyear+(lastyear/4)-(lastyear/100)+(lastyear/400)+1)%7;

        for(i=1;i < month;i++)

        {

            day+=totalday[i];

            day%=7;

        }

        // console에출력

        printf("\n           ");

        SetConsoleTextColor(0x0 , 0xe);              // 노란색글씨로바꾼다.

        printf("%d%d\n",year,month);

        SetConsoleTextColor(0x0 , 0xc);              // 빨간색글씨로바꾼다.

        printf("\n  ");

        SetConsoleTextColor(0x0 , 0xf);              // 흰색글씨로복귀

        printf("월화수목금");

        SetConsoleTextColor(0x0 , 0x9);              // 파란색글씨로바꾼다.

        printf("  ");

        SetConsoleTextColor(0x0 , 0xf);              // 흰색글씨로복귀

 

        // 파일에출력

        fprintf(fp, "\n           %d%d\n",year,month);

        fprintf(fp, "\n  일월화수목금토");

 

        for(i=-day; i<totalday[month]; i++)

        {

            if((i+day)%7 == 0)

            {

                printf("\n");

                fprintf(fp, "\n");

            }

            if(i<0)

            {

                printf("    ");

                fprintf(fp, "    ");

            }

            else

            {

                // 토요일일경우에는파란색으로출력한다

                if( (i+day)%7 == 6)   SetConsoleTextColor(0x0 , 0x9);

                // 일요일일경우에는빨간색으로출력한다.

                if( (i+day)%7 == 0)   SetConsoleTextColor(0x0 , 0xc);printf("%4d",i+1);

                // 원래흰색글씨로복귀시킨다.

                SetConsoleTextColor(0x0 , 0xf);

                fprintf(fp, "%4d",i+1);

            }

        }

    }

    printf("\n\n");

    fprintf(fp, "\n\n");

    fclose(fp);

    return 0;

}

 

 

// Console 글씨색상을바꾸는함수

void SetConsoleTextColor(int bgcolor , int color)

{

    bgcolor &= 0xf;

    color      &= 0xf;

    SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE) , (bgcolor << 4) | color );

}

 

 

 

'Programming > C,CPP,CS' 카테고리의 다른 글

프로그래밍 경진대회 관련 사이트  (0) 2012.10.14
CPP 예외처리  (0) 2012.09.23
C언어 정렬 알고리즘 예제  (0) 2012.08.26
CPP 달력 소스코드  (0) 2012.07.21
정렬 알고리즘 정리  (0) 2012.07.20

CPP 달력 소스코드

Programming/C,CPP,CS 2012. 7. 21. 10:30 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <iostream>
using namespace std;


int main()
{
 int year;
 int month;
 int totalDay = 0;
 int i = 1990;
 int dayOfWeek; // 0 : 월, 1: 화, .....
 int dayOfMonth; // 해당 달의 총 일수

 cout << "년도 입력 : " ;
 cin >> year;
 cout << "월 입력 : " ;
 cin >> month;

 for( ; i < year ; i++)
 {
  if( i % 4 == 0 && i % 100 != 0 || i % 400 == 0 )
  {
   totalDay += 366;
  }
  else
  {
   totalDay += 365;
  }
 }

 cout << year << "년 1월 1일 까지의 일수 " << totalDay << "요일 : ";

 switch( totalDay % 7 )
 {
 case 0:
  cout << "월요일" << endl;
  break;
 case 1:
  cout << "화요일" << endl;
  break;
 case 2:
  cout << "수요일" << endl;
  break;
 case 3:
  cout << "목요일" << endl;
  break;
 case 4:
  cout << "금요일" << endl;
  break;
 case 5:
  cout << "토요일" << endl;
  break;
 case 6:
  cout << "일요일" << endl;
  break;
 }

 for( i = 1; i < month ; i++ ) // 5
 {
  // 1 + 2 + 3 + 4
  switch(i)
  {
  case 1:
  case 3:
  case 5:
  case 7:
  case 8:
  case 10:
  case 12:
   totalDay += 31;
   break;
  case 4:
  case 6:
  case 9:
  case 11:
   totalDay += 30;
   break;
  case 2:
   if( (year % 4) == 0 && ( (year % 100) != 0 || (year % 400) == 0 ) )
   {
    totalDay += 29;
   }
   else
   {
    totalDay += 28;
   }
   break;
  }
 }

 cout << year << "년 "<< month<<"월 1일 까지의 일수 " << totalDay << "요일 : ";

 switch( totalDay % 7 )
 {
 case 0:
  cout << "월요일" << endl;
  break;
 case 1:
  cout << "화요일" << endl;
  break;
 case 2:
  cout << "수요일" << endl;
  break;
 case 3:
  cout << "목요일" << endl;
  break;
 case 4:
  cout << "금요일" << endl;
  break;
 case 5:
  cout << "토요일" << endl;
  break;
 case 6:
  cout << "일요일" << endl;
  break;
 } 


 switch(month)
 {
 case 1:
 case 3:
 case 5:
 case 7:
 case 8:
 case 10:
 case 12:
  dayOfMonth = 31;
  break;
 case 4:
 case 6:
 case 9:
 case 11:
  dayOfMonth = 30;
  break;
 case 2:
  if( (year % 4) == 0 && ( (year % 100) != 0 || (year % 400) == 0 ) )
  {
   dayOfMonth = 29;
  }
  else
  {
   dayOfMonth = 28;
  }
  break;
 }

 cout << year << "년 " << month << "월 달력 =====" << endl;
 cout << "월 화 수 목 금 토 일" << endl;
 cout << dayOfMonth << "일 입니다" << endl;

 

 for( i = 0 ; i < totalDay % 7 ; i++)
 {
  cout << "   " ;
 }
 for(i = 1; i <= dayOfMonth ; i ++ )
 {  
  printf("%2d ", i);

  if( totalDay % 7 == 6)
  {
   cout << endl;
  }
  totalDay++;  
 }


 cout << endl << endl;


 return 0;
}

 

'Programming > C,CPP,CS' 카테고리의 다른 글

프로그래밍 경진대회 관련 사이트  (0) 2012.10.14
CPP 예외처리  (0) 2012.09.23
C언어 정렬 알고리즘 예제  (0) 2012.08.26
C 달력 소스코드  (2) 2012.07.23
정렬 알고리즘 정리  (0) 2012.07.20