C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[18254] Re:공부하기 시작한지 얼마....
불사새 [phenix96] 1039 읽음    2002-05-08 10:03
빌더첨이얌.. 님이 쓰신 글 :
: 공부하기 시작한지 얼마 안됐거든여.. 그래서 궁금한게 있어서 올려봅니다.. 많은 답변 부탁드립니다.
1, 내가 태어난 생년월일을 만들려면 어케 하는지..
> 님께서 태어난 생년월인은 관련 자료가 많을것입니다. 이곳에 질문하기전에 부모님이나 해당 병원, 동사무소에서 먼저 검색하시는것이...

2. 1월부터 12월까지 달력을 만들어 날짜를 환산할려면 어케 하는지 궁금해여 ..잘하시는 분들은
    아주 쉬울것같은데.. 도무지 전 알수가 없어여  조언 부탁 드립니다..
    소스가 정말 궁금하구여  설명도 부탁드려여.. 감사합니다^^
>아래 소스는 도스에서 만년달력이랍시고 돌아가는건데요...하두 전에 만들어진거라 설명이..ㅠ.ㅠ
1년 1월 1일이 월요일이던가..그걸로 주욱 셀껍니다....윤년체크하고...
윤년은 해당 년도가 4로 나누어 지는것중 100으로 나누어지는건 제외하면서 400으로 나누어지는건
포함해서....그게 윤년이라는...아...언어능력달려..ㅠ.ㅠ

int calendar(int year,int month)

{
int dates[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int woel[6][7];
int i,j,k=0,na;
long nalsu=0,tot_day;
unsigned munja;
for(i=0;i<6;++i)
    for(j=0;j<7;++j)
        woel[i][j]=0;
if((year%4==0&&year%100!=0||year%400==0))
    dates[2]=29;
else
    dates[2]=28;
for(i=1;i<month;++i)
    nalsu+=dates[i];
tot_day=(year-1)*365l+(year-1)/4-(year-1)/100+(year-1)/400+nalsu+1;
na=tot_day%7;
for(i=0;i<6;++i)
{
    for(j=na;j<7;++j)
    {
        ++k;
        if(k>dates[month])
            break;
        woel[i][j]=k;
    }
    na=0;
}
gotoxy(1,1);
printf("          %d / %2d           \n",year,month);
printf("-----------------------------\n");
printf(" Sun Mon Tue Wed Thu Fri Sat \n");
printf("-----------------------------\n");
for(i=0;i<6;++i)
{
    for(j=0;j<7;++j)
    {
        if(woel[i][j]==0)
            printf("    ");
        else
            printf(" %3d",woel[i][j]);
    }
printf("\n");
}
printf("-----------------------------\n");
printf(" Left  Key -> Before Year \n");
printf(" Right Key -> Next   Year \n");
printf(" Up    Key -> Before Month \n");
printf(" Down  Key -> Next   Month \n");
printf(" ESC   Key -> Calendar End \n");
printf("-----------------------------\n");


if((munja=getch())==0)
    munja=getch()<<8;
switch(munja)
{
    case 0x4800 :year--;
             break;
    case 0x5000 :year++;
             break;
    case 0x4b00 :month--;
             break;
    case 0x4d00 :month++;
             break;
    case '\x1b' :return(0);
}
if(month==13)
{
    year++;
    month=1;
}
else if(month==0)
    {
        year--;
        month=12;
    }
return(calendar(year,month));



}

+ -

관련 글 리스트
18250 공부하기 시작한지 얼마.... 빌더첨이얌.. 735 2002/05/08
18254     Re:공부하기 시작한지 얼마.... 불사새 1039 2002/05/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.