C++语言编写一万年历系统!高分!

来源:百度知道 编辑:UC知道 时间:2024/05/23 18:06:29
C++语言编写一万年历系统!
要求:模仿显示生活中的挂历.
当前页以系统当前日期的月份为准显示当前月的每一天.(显示出日及对应的星期几)
当系统日期变到下一月时,系统自动翻页到下一月.
C++初学者,只会运用部分基础知识,望体谅... ...

实现C++的万年历类
一直想做这个东西,从vc知识库搜索到一个,可是代码算法有问题,许多的结果都是错的。其他的代码都是js的,没办法,自己动手。代码虽短,心意一片。

从此后你想为自己的软件增添点特色,放心的用吧,可以任意修改,传播。

#ifndef _CALENDAR_H
#define _CALENDAR_H

#include <windows.h>

struct myDATE{
int year;
int month;
int day;
bool isRunYue;
};

class calendar{
public:
calendar(){};
~calendar(){};

LONG lDaysFrom1900(myDATE date);//date与1900年相差的天数
UINT lYearDays(UINT y);//农历y年的总天数
UINT leapDays(UINT y);//传回农历 y年闰月的天数
UINT leapMonth(UINT y);// 传回农历 y年闰哪个月 1-12 , 没闰传回 0
UINT monthDays(UINT y,UINT m);//传回农历 y年m月的总天数
myDATE Lunar(myDATE date);//输入阳历日期,返回阴历日期
char* dayOfWeek(myDATE date);//输入阳历日期,返回星期几
char* getLunarString (myDATE date );// 输入阴历日期,得到表示农历的字串
UINT solarDays(UINT y,UINT m);//传回国历 y年某m+1月的天数

private:
char m_slunar[100];//用于存储农历信息

static DWORD