桌面万年历程序设计综合实践报告

桌面万年历程序设计综合实践报告

ID:12460385

大小:121.00 KB

页数:23页

时间:2018-07-17

桌面万年历程序设计综合实践报告_第1页
桌面万年历程序设计综合实践报告_第2页
桌面万年历程序设计综合实践报告_第3页
桌面万年历程序设计综合实践报告_第4页
桌面万年历程序设计综合实践报告_第5页
资源描述:

《桌面万年历程序设计综合实践报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序设计综合实践报告(C语言)项目名称:桌面万年历班级:姓名:学号:山东科技大学信息科学与工程学院2012年12月23目录1.项目概述31.1需求陈述31.2开发技术、环境与工具32.软件需求32.1功能性需求32.2非功能性需求33.软件架构设计34.软件详细设计与实现34.1主要模块的流程图34.2核心代码35总结与体会35.1遇到的问题与解决途径35.2心得体会3231.项目概述1.1需求陈述本项目是桌面小时钟的实现,表盘上可以实现星期、年月日、时分秒、生肖以及天干地支,右击可以打开延伸项目,包括日历、关于、表盘颜色设置、以及退出等选型,在日历表中可以实现从1901-

2、2099年公历农历以及周几的查询,在日历表格中也可以进行换肤操作,同时还可以进行闹钟设定,通过“开启闹钟”“关闭闹钟”两个按钮来实现对闹钟开关的控制1.2开发技术、环境与工具相关技术:1、(DrawClocktext)2、(DrawCalendar)2.软件需求基于c语言利用vb2008实现改程序2.1功能性需求可以实现时钟的消息处理(包括添加图片、背景色透明、更新时钟、绘制时钟、弹出菜单、处理菜单消息)、绘制时钟(包括年月日、时分秒)、万年历的背景的绘制、日历的绘制、以及按键消息。2.2非功能性需求编制闹钟,实现了闹钟的设定3.软件架构设计1、日历绘制函数2、表盘函数的绘

3、制3、按键函数的绘制4.软件详细设计与实现1、通过GetLocalTime(&datetime);来实现获得当下时间,然后通过SunToLunar实现公历和农历日期的转化。通过绘制表格,由GetDayOfWeek可以判断出某一天是周几,然后可以确定日历表中各个月份天数所在的位置,实现了万年历的基本功能。其次,利用按键功能,实现了对年月日的的选择。利用playsound实现对音频的输出。4.1主要模块的流程图4.1系统模块划分系统主要是由头文件和源文件,主要功能是在源文件内实现234.2主要功能模块系统的主要功能都在Main.c实现的。主要包含以下函数4.2.1voidCal

4、endarButtonEvent(UINTnID)实现了日历上的月份、闹钟按钮的调试4.2.2voidDrawCalendar(HDChDC,intnWidth,intnHeight)实现了日历的绘制,包括表格的绘制,星期,年月日,农历月份,生效图片及文字的输出4.2.3voidDrawClockText(HDChDC)实现了表盘上的时间年月日天干地支星期的输出4.2.4其他要用的函数GetDayOfWeek确定某一天是周几GetGanZhi确定了某一年是所对应的干支年份IsLeapYear判断某一年是否为闰年SunToLunar实现了由公历日期得到农历日期WinMain实

5、现了惨淡信息的输出4.3核心代码#include"public.h"#include#include#include#include#include"resource.h"//#pragmacomment(lib,"CalenderApp.lib")//#pragmacomment(lib,"WINMM.LIB")//导入声音用voidSetDlgMenuID(UINTnMainDlgID,UINTnCalendarDlgID,UINTnMenuID);voidSetButtonID(UIN

6、TnCalendarID,UINTnExitID,UINTnBiaoPan1,UINTnBiaoPan2,UINTnBiaoPan3);INT_PTRShowMainDlg();//用来计算日期/**********************************************************API函数参考:GetLocalTime:获得当前时间(公历:年、月、日、周)MoveToEx:移动划线的起点LineTo:绘制到某一点SetTextColor:设置要绘制的文字颜色TextOut:绘制文字GetLocalTime:获得当前系统的本地时间结构体类型参考

7、:23SYSTEMTIME:描述时间类型,包括年月日、时分秒、周**********************************************************/HINSTANCEg_hInst;//保存操作系统传递进来的"应用程序实例句柄"typedefstruct_stDateTime{intnYear;intnMonth;intnDay;}stDateTime;//定义表格,存储年-2099年的农历信息:每年的大小月、闰月信息、春节所在的公历日期unsignedintLunarCalend

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。