我的MFC计算器程序

  • 格式:doc
  • 大小:257.90 KB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江苏师范大学城环学院

《面向对象的程序设计》课程设计

设计题目:简易计算器设计

*名:***

学号:********

院系:城市与环境学院

年级: 12城31

***师:***

江苏师范大学城环学院

《面向对象的程序设计》课程设计任务书

目录

江苏师范大学课程设计任务书.......................................... I 目录........................................................... II 第一章需求分析.. (3)

1.1 引言 (3)

1.2 任务概述 (3)

1.3 数据描述 (3)

1.4 功能需求 (3)

1.5 运行需求 (4)

1.6 任务计划 (4)

第二章详细设计 (4)

2.1 总体设计 (4)

2.2 界面设计 (5)

2.3 控件属性设置 (5)

2.4 建立类向导 (6)

2.5 增加事件处理函数 (6)

2.6 建立类向导 (6)

2.7 函数说明 (7)

第三章测试分析 (9)

3.1 测试程序执行情况 (9)

第四章用户手册(可选) (10)

4.1 使用说明 (10)

第五章课程设计总结 (11)

附录:程序代码 (12)

参考文献 (19)

第一章需求分析

1.1引言

计算器是我们日常生活中进行计算的最基础的工具,一个简单操作的计算器可以极大得提高效率

1.2任务概述

每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。

计算器性设计

对计算器系统进行如下设计使之能提供下列服务:

❖加法运算

❖减法运算

❖乘法运算

❖除法运算

❖立即显示运算结果

1.3数据描述

该系统实现对计算器系统管理,至少包括以下信息:

界面的设计,控件属性的设置,成员变量的定义,事件处理函数的增加,增加程序代码

1.4功能需求

根据要求用户需要设计一个关于简易计算器系统程序,简化用户进行简单的设计。

该程序还要实现以下功能:

(1)能够进行加法运算

(2)能够进行减法运算

(3)能够进行乘法运算

(4)能够进行除法运算

(5)立即显示运算结果

1.5运行需求

应用VisualC++,VisualC++不仅仅是一个C++编译器,而且是一个基于Windows操作系统的是集成开发环境IDE,这种环境开发出来的软件稳定性好、可移植性强,可以编制各种的Windows应用程序。本文充分利用Vc的MFC AppWizard[exe]功能来设计计算器,并且可视化效果好。

1.6任务计划

第一天选择课程设计题目,分析课题的要求

第二-六天编程

第七-八天编程及调试

第九天写编程报告

第十天提交课程设计报告与源程序(打印稿及电子稿)

第二章详细设计

2.1总体设计

根据需求分析,由于程序较我们在MFC中实现,文件名为:Example其中包含了很多MFC所特有的类操作,如:CAboutDlg,CExampleDlg,CDialog等其主要功能模块有:

(1)加法计算

(2)减法计算

(3)乘法计算

(4)除法计算

(5)立即显示运算结果

2.2界面设计

2.3控件属性设置

控件类型ID属性Caption属性附加Button IDCANCEL退出

Button IDC_BUTTON_CAL计算

Group Box IDC_STATIC选择运算类型

Radio Button IDC_RADIO_ADD加选择Group属性复选

框组(G)

Radio

Button

IDC_RADIO_SUB减

Radio

Button

IDC_RADIO_MULTI乘

Radio

Button

IDC_RADIO_DIV除Edit Box IDC_EDIT_VALUE1

Edit Box IDC_EDIT_VALUE2

Edit Box IDC_EDIT_RESULT

Static Text IDC_STATIC_FLAG+

Static Text IDC_STATIC=

Check Box IDC_CHECK立即显示运算结果2.4建立类向导

2.5增加事件处理函数

同上,为下列的时间增加处理函数:

IDC_EDIT_VALUE1的EN_CHANGE

IDC_EDIT_VALUE2的EN_CHANGE

IDC_RADIO_ADD的BN_CLICKED

IDC_RADIO_SUB的BN_CLICKED

IDC_RADIO_MULTI的BN_CLICKED

IDC_RADIO_DIV的BN_CLICKED

2.6函数的说明

onButtonCal()用于当用户单击“计算”按钮是计算两个数的运算结果,并显示结果编辑框中;OnRadioAdd()、OnRadioDiv()、OnRadioAMulti()、OnRadioSub()4个事件处理函数用于当用户通过单选按钮改变所需要的运算类型时(如加变成减),程序控制IDC_STATIC_FLAG静态文本框中显示的运算符也做相应的改变(+变为÷);OnchangeEditValue1()、OnchangeEditValue2()用在当“立即显示运算结果”框被选择的时候,这是每当左边的两个编辑框的内容有所改变(表示参与运算的两个数之一已经改变)立刻重新运算结果。

此功能的实现代码:

编辑框1:

void CExampleDlg::OnChangeEditValue1()

{

// TODO: If this is a RICHEDIT control, the control will not

// send this notification unless you override the CDialog::OnInitDialog()

// function and call CRichEditCtrl().SetEventMask()

// with the ENM_CHANGE flag ORed into the mask.

// TODO: Add your control notification handler code here

UpdateData();

if(m_bAtOnce)

{

OnButtonCal(); //实现立即显示运算结果功能

}

}

编辑框2:

void CExampleDlg::OnChangeEditValue2()