ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:16.77KB ,
资源ID:2785887      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2785887.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++万年历课程设计报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++万年历课程设计报告.docx

1、C+万年历课程设计报告#ifndef _CALENDAR_H#define _CALENDAR_H #include struct myDATE int year; int month; int day; bool isRunYue; class calendarpublic: calendar(); calendar(); LONG lDaysFrom1900(myDATE date);/date与1900年相差的天数 UINT lYearDays(UINT y);/农历y年的总天数 UINT leapDays(UINT y);/传回农历 y年闰月的天数 UINT leapMonth(UIN

2、T 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_slunar100;/用于存储农历信息

3、static DWORD lunarInfo;/ static UINT solarmonth; static char sSolarTerm; static DWORD dTermInfo; static char sFtv; ;#endif /#include calendar.h#include DWORD calendar:lunarInfo= 0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2, 0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0

4、x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977, 0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970, 0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950, 0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557, 0x06ca0,0x0b550,0

5、x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0, 0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0, 0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6, 0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x

6、09570, 0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0, 0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5, 0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930, 0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x

7、0a4e0,0x0d260,0x0ea65,0x0d530, 0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45, 0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0;UINT calendar:solarmonth=31,28,31,30,31,30,31,31,30,31,30,31;UINT calendar:lYearDays(UINT y) UINT i, sum = 3

8、48; for(i=0x8000; i0x8; i=1) sum += (lunarInfoy-1900 & i)? 1: 0; return(sum+leapDays(y); UINT calendar:leapDays(UINT y) if(leapMonth(y) return (lunarInfoy-1900 & 0x10000)? 30: 29; else return 0; UINT calendar:leapMonth(UINT y) return lunarInfoy-1900 & 0xf; UINT calendar:monthDays(UINT y,UINT m) retu

9、rn (lunarInfoy-1900 & (0x10000m)? 30: 29;LONG calendar:lDaysFrom1900(myDATE date) LONG days; days=365*date.year+(date.year-1)/4-(date.year-1)/100+(date.year-1)/400- (365*1900+(1900-1)/4-(1900-1)/100+(1900-1)/400); for(int i=0;i2) days+; return days; myDATE calendar:Lunar(myDATE date) LONG offset; in

10、t i, leap=0, temp=0; myDATE retdate; offset=lDaysFrom1900(date)-30; for(i=1900; i0; i+) temp = lYearDays(i); offset -= temp; if(offset0) offset += temp; i-; retdate.year = i; leap = leapMonth(i); bool isLeap = false; for(i=1; i0; i+) if(leap0 & i=(leap+1) & isLeap=false) -i; isLeap = true; temp = le

11、apDays(retdate.year); else temp = monthDays(retdate.year, i); if(isLeap=true & i=(leap+1) isLeap = false; offset -= temp; if(offset=0 & leap0 & i=leap+1) if(isLeap) isLeap = false; else isLeap = true; -i; if(offset wNongli-*/ int nShuXiang = (date.year - 4) % 60) % 12; if ( nShuXiang = sizeof(cShuXiang)/sizeof(cShuXiang0) ) return NULL ; wsprintf(szShuXiang,%s,cShuXiangnShuXiang); int nTianGan = (date.year - 4) % 60) % 10; if ( nTianGan 0 | n

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1