[C 프로그래밍]달력프로그램(방향키 이용, 특정날짜 빨간색 표시 기능, 윤년가능)
- 최초 등록일
- 2005.11.30
- 최종 저작일
- 2005.11
- C언어
- 가격 1,000원
소개글
학교레포트입니다. A+받은 리포트 구여 보시면 신기하실겁니다. ^^
윤년을 포함하는 달력만들기구여, 방향키 이용가능
방향키 상,하로 년을 넘기면, 화면에 클리어 된다음 새로운 년도가 나타게 됩니다.초기년도는 2005년도로 해놨구여, 1979년까지 표시되게 했는데, 소스 조금 보시면 바로 원하는 년도까지 나타낼수 있습니다. (표시 해놨음) 방향키 좌,우로 달(1~12월)을 넘기게 되구여,
특정 날짜는 빨간색으로 표시 하게 했습니다. 저는 18일을 빨간색으로 했는데, 일요일 이나, 특정날짜를 다른색으로 하고 싶으시면 소스 보시고 충분히 바꿀수 있습니다.
※ 주의 : 완벽한 예외처리는 하지 못했습니다. 소스는 주석이 있어서 쉽게 설명되구여 제가 쓴 레포트 까지 첨부하였습니다.
컴파일 실행환경
VC++ 6.0
본문내용
달력을 출력하는 프로그램을 만드시오.
방향키 왼쪽, 오른쪽을 누르면 달이 변하고
위, 아래를 누르면 년도가 바뀌는 프로그램으로
매 화면 달력 출력시 모든 화면을 clear하고 달력을 보여주시오.
매달 18일은 빨간색으로 출력되게 하시오.
#include <stdio.h>
#include <conio.h> //kbhit()함수를 쓰기위해
#include <stdlib.h> //system("cls")함수를 쓰기위해
#include <windows.h> //글자새 변환 하기위한
const HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
#define PRESS_UP 72 //위쪽 방향키 아스키코드값 Define
#define PRESS_DOWN 80 //아랫쪽 방향키 아스키코드값 Define
#define PRESS_LEFT 75 //왼쪽 방향키 아스키코드값 Define
#define PRESS_RIGHT 77 //오른쪽 방향키 아스키코드값 Define
#define PRESS_QUIT 113 //종료 `q` 아스키코드값 Define
void SearchWeek(int, int*); //처음 주어진 년도의 1일의 위치값
void SearchMonth(int, int, int, int*); //주어진년도의 달의 1일의 위치값
void PrintCal(int, int, int); //주어진 년도의 달 출력 함수
void ChangeCal(int*,int*,int*,int*); //방향키로 새로운 달력 출력하는 함수
int main()
{
int year, month; //사용자로부터 받는 year과 month
int locationWeek, //출력할 년도의 1월 1일의 위치
locationMonth; //출력할 년도의 month월의 1일의 위치
year = 2005; //첫화면을 2005년으로 설정하기위한 2005로 초기화
month = 11; //첫화면의 월을 11월로 설정하기위한 초기화
//선택된 년의 1월1일의 위치 (월요일에 1일이 위치하는지, 화요일에 1일이 위치하는지)
//위치 정보는 locationWeek에 들어간다.
//( locationWeek %7 값이 0 ==> 일요일 , 1==>화요일 ~ 6==>토요일)
SearchWeek(year, &locationWeek);
참고 자료
없음