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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[524] 년도에 대한 60갑자 명칭 얻는 함수.
김태선 [jsdkts] 8038 읽음    2005-11-30 15:39
최고로 간단한 년도의 60갑자 명칭 구하는 함수입니다.
문득 60갑자 명칭 구하는게 너무 쉽다는 생각에 한번 뚝딱 만들어 본 것입니다.
ㅡㅡ;
년도는 무제한 됩니다.
혹 쓰실 분이 계실지도...

// 년도에 대한 60갑자명칭 돌려주기.

char    *Kapja(int year)
{
    char      *Sky    = "갑을병정무기경신임계";
    char    *Earth    = "자축인묘진사오미신유술해";
    int sky = (year + 6) % 10;
    int earth = (year + 8) % 12;
    static char  buf[5];

    strncpy(buf + 0, Sky + sky*2, 2);
    strncpy(buf + 2, Earth + earth*2, 2);
    buf[4] = 0;
    return buf;
}

//  테스트

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    for(int  year = 1984; year < 2010; year++)
    {
        Memo1->Lines->Add(String().sprintf("%d년은 %s년", year, Kapja(year)));
    }
}

+ -

관련 글 리스트
524 년도에 대한 60갑자 명칭 얻는 함수. 김태선 8038 2005/11/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.