面向对象程序设计课程设计报告《电子时钟》(C++) 下载本文

}

DDV_MinMaxInt(pDX, m_day, 1, 31); DDX_Text(pDX, IDC_EDIT_HOUR, m_hour); DDV_MinMaxInt(pDX, m_hour, 0, 23);

DDX_Text(pDX, IDC_EDIT_MINUTE, m_minute); DDV_MinMaxInt(pDX, m_minute, 0, 59); DDX_Text(pDX, IDC_EDIT_MONTH, m_month); DDV_MinMaxInt(pDX, m_month, 1, 12);

DDX_Text(pDX, IDC_EDIT_SECOND, m_second); DDV_MinMaxInt(pDX, m_second, 0, 59);

BEGIN_MESSAGE_MAP(CSetting, CDialog)

ON_EN_CHANGE(IDC_EDIT_YEAR, OnChangeEditYear) ON_EN_CHANGE(IDC_EDIT_MONTH, OnChangeEditMonth) ON_EN_CHANGE(IDC_EDIT_DAY, OnChangeEditDay) ON_EN_CHANGE(IDC_EDIT_HOUR, OnChangeEditHour) ON_EN_CHANGE(IDC_EDIT_MINUTE, OnChangeEditMinute) ON_EN_CHANGE(IDC_EDIT_SECOND, OnChangeEditSecond) ON_NOTIFY(NM_OUTOFMEMORY,

IDC_SPIN_YEAR,

OnOutofmemorySpinYear)

END_MESSAGE_MAP()

BOOL CSetting::OnInitDialog() //对话框对编辑框控件的更新和设置 {

CDialog::OnInitDialog(); m_year=*year; m_month=*month; m_day=*day; m_hour=*hour; m_minute=*minute; m_second=*second;

m_syear.SetRange(1900,2999); m_smonth.SetRange(1,12);

24

}

m_sday.SetRange(1,31); m_shour.SetRange(0,23); m_sminute.SetRange(0,59); m_ssecond.SetRange(0,59); UpdateData(FALSE); return TRUE;

void CSetting::OnOK() //保存对话框的数据 { }

void CSetting::OnOutofmemorySpinYear(NMHDR*pNMHDR, LRESULT* pResult) { }

25

UpdateData();

if(m_year>=1900&&m_year<=2999&& { }

*year=m_year; *month=m_month; *day=m_day; *hour=m_hour; *minute=m_minute; *second=m_second; Invalidate(); CDialog::OnOK();

m_month>=1&&m_month<=12&& m_day>=1&&m_day<=31&& m_hour>=0&&m_hour<=23&& m_minute>=0&&m_minute<=59&& m_second>=0&&m_second<=59)

*pResult = 0;

5 课程设计总结

5.1 程序运行结果或预期运行结果

运行程序,画面首先获取系统时间,显示当时时间日期,如图5.1所示。

图5.1 主窗口界面

此后时间一直在运行,由于采用获取系统两秒之间的间隔进行刷新屏幕,所以计时几乎没误差,如图5.2所示,时间和电脑系统时间一致。

图5.2 当前系统时间

日期时间设置界面如图5.3所示。

26

图5.3日期时间设置界面

5.2 设计结论

通过这次面向对象程序设计课程设计,使我加深对类与对象的理解,使我能将学到的面向对象的程序设计思想用到具体的工作和学习中。通过课程设计,我学得了很多书本上没有的知识,比如获取键盘按键消息的函数和延时的设计。在开始设计时,遇到很多问题,就比如延时的问题,尝试了几种方法,但经过对问题的分析和思考,最终把问题解决了,选择了通过获取两秒间隔来计时的方法。所谓读万卷书不如行万里路,编程要靠练习才能学好,这次课程设计让我受益匪浅。

参考文献

[1] 张福祥. C语言程序设计[M]. 辽宁大学出版社,2008.1

[2] 马石安,王魏文平.面向对象程序设计教程(C++语言描述) [M].北京:清华大学社,2007

[3] 杨喜林, 杨亮, 杨杨. 可视化程序设计Visual C++ [M].北京理工大学出版社,2010.2

致 谢

这次课程设计能够顺利完成,首先非常感谢我们的指导老师陈智,是老师传授我知识,教会我编程的方法和思路,还有感谢一些在我有困难时给予我帮助的同学。

27