当前位置:文档之家› Vc++课程设计报告

Vc++课程设计报告

Vc++课程设计报告
Vc++课程设计报告

湖南农业大学信息科学技术学院VisualC++程序设计实验报告

题目简单计算器和霓虹灯效果学号

专业及班级计算机专业

姓名

起止日期

指导教师

霓虹灯效果与简单计算器

1.基本功能描述

要求使用MFC框架在Visual Studio 6.0环境下编写一个简易的计算器,能实现简单的加、减、乘、除四则运算。还有霓虹灯效果,实现红,蓝,绿三种颜色在一定时间间隔内轮流变换。

2.设计思路

首先建立一个单文档,在单文档中实现霓虹灯效果。再在单文档中建立一个对话框,编辑对话框实现计算器的功能。其中要实现在类中添加函数,添加变量等过程。关键利用到OnTimer函数,SetTimer函数设定定时器,UpdateData函数实现数据的赋值和显示。

3.软件设计

3.1设计步骤

3.1.1输出霓虹灯效果的文本

(1)打开Visual C++6.0,选择“文件/新建”命令。

(2)打开“新建”对话框,选择“工程”选项中的MFC AppWizard(exe)选项,在文本框中输入文本名字,如:“Myprogram”。之后选择单文档

(3)在ClassView选项卡中,在CMyprogramView选项中,添加成员变量,分别填好类型和名称。变量1的Type是“CFont”,Name 是“font”,用来保存定义的字体输出属性。变量2的Type是“COLORREF”,Name输入“color[3]”,数组color[3]用来保存文本中进行颜色变换的所有颜色。变量3的Type是“int”,Name是

“i”。i是用作颜色标识,用来对数组中的数据进行选择。

(4)编辑代码:

CMyprogramView::CMyprogramView()

{

// TODO: add construction code here

i=0;

font.CreatePointFont(500,"楷体",NULL);

color[0]=RGB(255,0,0);

color[1]=RGB(0,255,0);

color[2]=RGB(0,0,255);

}

(5)按Ctrl+W,打开MFC ClassWizard对话框。在Class name 下拉菜单中选择CMyprogramView,在Object IDs下拉菜单中选择CMyprogramView,在Message中选择WM_TIMER。这样就出现了W OnTimer成员函数。

(6)双击OnDraw(CDC*pDC)函数。编辑代码:

void CFfffView::OnDraw(CDC* pDC)

{

CFfffDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

SetTimer(1,500,NULL);//设置时间间隔为500毫秒

}

(7)双击OnTimer(UINT nIDEvent)成员函数,编辑代码:

void CFfffView::OnTimer(UINT nIDEvent)

{

// TODO: Add your message handler code here and/or call default

CDC*pDC=GetDC();//获得当前设备指针

CFont*oldfont=pDC->SelectObject(&font);//选中当前设置的字体属性

if(i<3)

{

pDC->SetTextColor(color[i]);

pDC->TextOut(0,0,"小计算器!");

i++;

}

else

i=0;

pDC->SelectObject(oldfont);//选回以前的字体属性

CView::OnTimer(nIDEvent);

}

(8)运行程序,可以看到每隔0.5秒“小计算器”的颜色在红色,绿色和蓝色之间变换。

3.1.2计算器对话框的创建和控件编辑

(1)在单文档方式下,选择项目工作区中窗口中的Resource View 选项卡中,展开Dialog选项,手动添加用户自定义对话框

(2)可根据个人喜好设计计算机对话框。

3.1.3对话框的编辑

(1)打开工程文件“Myprogram”

(2)选择项目工作区窗口中ResourceView选项卡并展开其选项,展开Menu选项,双击IDR_MAINFRAME选项。

(3)在右侧编辑区中,手动添加新菜单项“显示对话框”

(4)在建立一个名为“显示”的子菜单项,其ID定义为ID_SHOWDIALOG。

(5)回到项目工作窗口,展开Dialog文件夹,双击IDD_DAILOG1(在对话框创建时)打开前面已经建好的对话框,在对话框的非控件区域双击鼠标,打开MFC ClassWizard对话框和Adding a class对话框,选中其中的Create a new class。

(6)打开New Class对话框,在Name文本框中输入“CMydialog”。然后单击OK按钮。

(7)打开MFC ClassWizard对话框,在Class name下拉列表中出现了CMydialog类。

(8)在Class name下拉菜单中选择CMyprogramView,在Object IDs下拉菜单中选择ID_SHOWDIALOG类,在Message中选择COMMAND 选项。此时在Member functions列表中将出现OnShowdialog ON_ID_SHOWDIALOG:COMMAND成员函数。

(9)在项目工作区自动出现了OnShowdialog成员函数。

(10)用鼠标右键单击CMydialogView选项,在弹出的快捷菜单中选择Add Member Variable命令,打开Add Member Variable对话框,在Variable Type文本框中输入“CMydialog”,在Varible

Name文本框中输入“Mydialog”,单击OK按钮。这样就建立了一个名为Mydialog的CMydialog类保护型对象。

(11)展开CMydialogView选项,双击OnShowdialog选项,光标移到该函数体起始位置,将其函数体内容修改为:void CFfffView::OnShowdialog()

{

// TODO: Add your command handler code here

mydialog.DoModal();//显示对话框

}

(12)运行该程序,选择“显示对话框/显示”。

3.2界面设计

打开对话框资源,为各个控件添加ID,进行属性设计;在计算器中要添加的有加减乘除四个成员函数,还有添加num1、num2和result这三个成员变量。打开ClassWizard,针对IDD_MYDIALOG_DIALOG所指向的类CMydialogDlg,为该类添加成员变量。

(1)打开对话框资源IDD_ MYDIALOG _DIALOG,该对话框是程

序运行时的主界面,按要求完成控件的添加。

例如,组框的添加。首先,点击控件工具条上的‘组框’

按钮,在对话框上画出组框,并适当地调整其大小。然后

右键单击组框,选择‘属性’,分别改为“ID_JIA”、

“ID_JIAN”、“ID_CHENG”、“ID_CHU”。按照这样的步

骤,完成所有控件的添加。其中包括按钮、静态文本框、

编辑框、组合框。

(2)通过类向导为CMydialogDlg类添加成员变量。单击菜单栏的

‘查看’中的‘建立类向导’,打开‘MFC ClassWizard’

对话框。然后,选择‘Member V ariables’选项,选择要添

加成员变量的类,再选择要添加成员变量的控制ID,单击

‘添加变量’按钮,输入变量名,选择变量类型,如:float

型的num1,float型的num2,float型的result。单击确定即

可。然后按照同样的方法为所有的控件添加成员变量。3.3关键功能的实现

(1)给控件绑定变量:利用类向导给三个编辑框绑定三个float 型的变量。Ctrl+W

打开类向导,在Project里选择Myprogram,Class name中选择CMydialog,在Control IDs选择IDC_FIRNUM,然后选择Add V ariavle,在打开第二个选型卡Member Variable成员变量。为IDC_FIRNUM添加一个变量。在Member V ariable Name中m_num1,Category中选择value。在V ariable Type中选择float。Ctrl+W

打开类向导,在Project里选择Myprogram,Class name中选择CMydialog,在Control IDs选择IDC_SECNUM,然后选择Add V ariavle,在打开第二个选型卡Member Variable成员变量。为IDC_SECNUM添加一个变量。在Member Variable Name中m_num2,Category中选择value。在V ariable Type中选择float。这样就完成了控件与变量的绑定。

(2)对按钮控件的事件响应函数的添加。

1.加法的实现

右键建立类向导,从IDs中选择ID_JIA,即加这个按钮。从Message 中选择BN_CLICKEO,即别单击时,点Add Function为其添加函数。然后弹出对话框中,为函数命名,默认值即可。点击OK。

然后会在Member Function中,添加了一个函数OnJia,选中,然后点击Edit Code,编辑代码。

void CMydialog::Onjia()

{

// TODO: Add your control notification handler code here

UpdateData(true);//刷新数据,刷新控件的值到变量

m_result=m_num1+m_num2;

UpdateData(false);//刷新数据到控件显示

}

2.减法的实现

右键建立类向导,从IDs中选择ID_JIAN,即加这个按钮。从Message中选择BN_CLICKEO,即别单击时,点Add Function为其添加函数。然后弹出对话框中,为函数命名,默认值即可。点击OK。然后会在Member Function中,添加了一个函数OnJian,选中,然后点击Edit Code,编辑代码。

void CMydialog::Onjian()

{

// TODO: Add your control notification handler code here

UpdateData(true);//刷新数据,刷新控件的值到变量

m_result=m_num1-m_num2;

UpdateData(false);//刷新数据到控件显示

}

3.乘法的实现

右键建立类向导,从IDs中选择ID_CHENG,即加这个按钮。从Message中选择BN_CLICKEO,即别单击时,点Add Function为其添加函数。然后弹出对话框中,为函数命名,默认值即可。点击OK。然后会在Member Function中,添加了一个函数OnCheng,选中,然后点击Edit Code,编辑代码。

void CMydialog::OnCheng()

{

// TODO: Add your control notification handler code here

UpdateData(true);//刷新数据,刷新控件的值到变量

m_result=m_num1*m_num2;

UpdateData(false);//刷新数据到控件显示

}

4.除法的实现

右键建立类向导,从IDs中选择ID_CHU,即加这个按钮。从Message中选择BN_CLICKEO,即别单击时,点Add Function为其添加函数。然后弹出对话框中,为函数命名,默认值即可。点击OK。然后会在Member Function中,添加了一个函数OnChu,选中,然后点击Edit Code,编辑代码。

void CMydialog::OnChu()

{

// TODO: Add your control notification handler code here

UpdateData(true);//刷新数据,刷新控件的值到变量

m_result=m_num1/m_num2;

UpdateData(false);//刷新数据到控件显示

}

4.心得体会

在本次的课程设计中,我设计了一个计算器,能够用它来简单地计算四则运算。实验,设计简单,操作方便,基本上完成了实验任务,达到了本次课程设计的要求这次课程设计让我学到了很多,不仅是巩固了先前学的MFC程序设计知识,而且也培养了我的动手能力,更令我的创造性思维得到拓展。希望今后类似这样课程设计、类似这样的锻炼机会能更多些!

当然,在这次课程设计中,我看到了自己的不足之处,也说明了我在往日的学习中学得不扎实,只有更好地学习,逐步提高理论知识,才能更好地实践,在资料的查询过程中我也学到了很多的东西,极大地拓宽了我的知识面,也提高了我的综合素质。要善于查找资料提高自己的资料查询能力,要善于利用网络来获得知识,获得帮助。开始着手程序设计时,有些功能感觉无从下手,都不知道要干什么。这些问题只要找到相关的资料就会得到提示从而理解所要解决问题的大致方向。有了明确的目的,就可以发挥自己的头脑来完成它了。

5.参考文献:

《Visual C++程序设计教程》,清华大学出版社。

相关主题
文本预览
相关文档 最新文档