公历日期与农历日期的相互转换程序
//**********************************
// 公历日期与农历日期的相互转换程序
// 公元1800年1月25日~2101年1月28日
// 请在VC++6.0平台运行
//**********************************
#include
#include
#include
#include
#include
#include
struct date{ short year,month,day; }
d1={ 1800,1,25 },//农历1800正月初一(星期六)
d2={ 2101,1,28 };//农历2100腊月廿九(未使用)
struct lunarYear //农历年
{ char run; //闰月月份(0表示无闰月)
char ZL[13]; //农历i月初一对应公历i月ZL[i]日(广义)
} Year[2101 //但是ZL[i]的最高位1表示大月0表示小月
-1800]={4};//农历1800年闰四月
#define leap(y) !(y%(y%100?4:400)) //公元闰年宏定义
unsigned char days[]={ 0,31,28,31,30,31,30,31,31,30,31,30,31 },
b[]= //农历1800-2100年大月(30天)小月(29天)闰月数据(hex string)
{
"adca5aa92bb525bba25bb493b64a5ba9add496ea8a6ed14eea4a6da5b6"
"545baa4bba45bba82b75a5b654abaa55d526eda4aed495da526daa5655"
"abb295ba5257aa4b75a95655abaa56ea4a5da92ed965d594adaa56692b"
"75a5ba64977493b6ca5a69add496da925dd24dda495da9add45a6a4b75"
"4937692775a5b6