课程设计报告

发布 2022-10-01 03:27:28 阅读 8418

计科101冯康

桌面精灵的主窗体运行结果如图1.1所示。桌面精灵模块是以阴历和阳历相结合的方式显示的日历,其中还包含二十四节气以及一些中西方节日,这些特殊的日期都用不同的颜色进行标注。

图1.1 桌面精灵主窗体。

窗口设置。右键单击主界面,在弹出的菜单中选择“窗口设置”命令,打开“窗口设置”模块,如图1.2所示。

在该模块中,用户可以设置窗口的显示风格,包括普通窗口、总在最前和嵌入桌面3种,还可以进行系统设置,包括开机自动运行、鼠标穿透和透明度设置。通过设置这些风格可以更灵活的使用桌面精灵模块。

图1.2 窗口设置。

新建备忘录。

右键单击主界面,在弹出的菜单中选择“新建备忘录”命令,打开“新建备忘录”窗口,如图1.3所示。在该模块中,可以添加备忘录信息,用来提醒用户,一以免忘记重要的工作。

图1.3 新建备忘录模块。

备忘录列表。

右键单击主界面,在弹出的菜单中选择“备忘录列表”命令,打开“备忘录列表”窗口,如图1.4所示。在该模块中,用户可以查看所有的备忘提醒,并可以对这些提醒进行管理。

图1.4 备忘录列表模块。

提示显示。图1.5 备忘录的提示界面。

托盘显示。图1.6 静止状态图1.7 鼠标滑过。

图1.8 右键单击。

图1.9 在主窗口上单击右键菜单显示。

关键**。1、 阳历转换成阴历的方法。

(1)定义一个leapyear函数,用来判断当前年份是否是闰年。

2bool ceidolondlg::leapyear(int year)

return ((year%4==0 &&year%100!=0) |year%400==0);

(2)添加自定义函数firstdayofmonth,用来计算月份的第一天是星期几。

int ceidolondlg::firstdayofmonth(int year,int month)

int n=0,d=0;//d来保存这一天之前在全年中的天数。

for(int i=1;id +=getmonthdays(m_year,i);

计算公式w=[y-1+(y-1)/4-(y-1)/100+(y-1)/400+d]%7

其中w为星期几,y为年份,d为这一天在全年当中所累计的天数。

n = year-1+(year-1)/4-(year-1)/100+(year-1)/400+d+1;//勿忘加1

return n %=7

3)添加getmonthdays函数用来计算各个月份的天数。

int ceidolondlg::getmonthdays(int year,int month)

switch(month)

return 0;

4)添加daysfrom1900函数,用来计算y年m月d日到2024年相差的天数,就是将2024年作为一个基数,根据它来计算当前日期是星期几即农历日期。

long ceidolondlg::daysfrom1900(customdate date)

long days;

days = 365*

for(int i=0;i<

days +=

return days;

5)添加yeardays函数用来计算农历的总天数。

int ceidolondlg::yeardays(int year)

uint i, sum = 348;

for(i=0x8000; i>0x8; i>>=1)

return(sum+leapdays(year));

6)添加 leapmonth函数该函数是用来计算农历y年闰月的天数。

int ceidolondlg::leapmonth(uint year)

return lunarinfo[year-1900] &0xf;

7)添加leapdays函数,用来计算农历y年m月的天数。

int ceidolondlg::leapdays(int year)

if(leapmonth(year))

else8)添加monthdays函数,计算y年m月的总天数。

int ceidolondlg::monthdays(uint year, uint month)

return (lunarinfo[year-1900] &0x10000>>month))?30: 29;}

9)添加getlunar函数,根据输入的阳历日期来计算阴历日起。

customdate ceidolondlg::getlunar(customdate date)

long offset;

int i, leap=0, temp=0;

customdate retdate;

offset=daysfrom1900(date)-30;

for(i=1900; i<2050 &&offset>0; i++)

if(offset<0)

= i;leap = leapmonth(i);

bool isleap = false;

for(i=1; i<13 &&offset>0; i++)

elseif(isleap==true &&i==(leap+1))

isleap = false;

offset -=temp;

if(offset==0 &&leap>0 &&i==leap+1)

if(offset<=0)

= i;= offset ;

return retdate;

10)添加getlunarstring函数,将阴历日期转化成天干地支字符串。

char* ceidolondlg::getlunarstring(customdate date)

tchar sznongli[30], sznongliday[10],szshuxiang[10];

const char *ctiangan 天干。

const char *cdizhi子","丑","寅","卯","辰","巳","午", 未","申","酉","戌","亥"};

/地支。const char *cshuxiang

/生肖。const char *cdayname初一","初二","初三","初四","初五",初六","初七","初八","初九","初十",十一","十二","十三","十四","十五",十六","十七","十八","十九","二十",廿一","廿二","廿三","廿四","廿五",

廿六","廿七","廿八","廿九","三十"};农历日期。

const char *cmonname正","二","三","四","五","六", 七","八","九","十","十一","腊"};

//生成农历天干、地支、属相。

int nshuxiang = 4) %60) %12;

if ( nshuxiang < 0 ||nshuxiang >=sizeof(cshuxiang)/sizeof(cshuxiang[0])

return null ;

wsprintf(szshuxiang,"%s",cshuxiang[nshuxiang]);

int ntiangan = 4) %60) %10;

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...