- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计实践
设
计
报
告
课题名称:简易计算器设计与实现
学生姓名:
班 级:
班内序号:
学 号:
日 期:
课题概述
1.1课题目标和主要内容
本案例以编写基于MFC的简易计算器软件为例,通过学习MFC事件驱动机制、MFC界面设计、MFC控件使用,并掌握MFC应用程序的设计方法,独立完成一个MFC的一个MFC的应用程序。本案例的重点是学习如何使用MFC基本控件和事件驱动机制完成一个Windows下交互式应用软件。本次实验所用的开发平台为Visual Studio 2008。
1.2系统的主要功能
基本功能
单击数字键,显示当前数值
单击“+”、“-”、“*”、“/”建进行运算
单击“=”,显示运算结果
单击“C”,清楚已有结果
进行连续四则运算
扩展功能
进行浮点运算
进行平方、绝对值、倒数运算
进行三角函数运算
2. 系统设计
2.1 系统总体框架
对话框编辑框按钮
对话框
编辑框
按钮
事件驱动函数
运算函数
2.2 系统详细设计
[1] 模块划分图及描述
(1)对话框:
此模块实现的是与用户的交互,本案例使用了两类控件:编辑框和按钮。
(2)事件驱动函数:
例如:
void CdckcalculatorDlg::OnBnClickedBtn1()
{
// TODO: 在此添加控件通知处理程序代码
ClickNum(1);
}
此模块处理的是程序如何响应鼠标的单击,主要由消息映射和消息处理函数两部组成。
(3)运算函数:
例如:
void CdckCalculatorDlg::onButtonN(int n)
{
if( m_coff == 1.0)
m_second = m_second*10 + n;//作为整数输入数字时骸
else
{ m_second = m_second + n*m_coff; //作为小数输入数字
m_coff *= 0.1; }
UpdateDisplay(m_second);//更新编辑框的数字显示
}
此模块是本实验的核心内容,它控制着整个程序的逻辑功能,它所实现的主要是逻辑运算以及数据交换。
[2] 类关系图及描述
在calculatorDlg.h中设置CcalculatorDlg类,如下所示:
// dckCalculatorDlg.h : 头文件
//
#pragma once
// CdckCalculatorDlg 对话框
class CdckCalculatorDlg : public CDialog
{
// 构造
public:
CdckCalculatorDlg(CWnd* pParent = NULL); // 标准构造函数
// 对话框数据
enum { IDD = IDD_DCKCALCULATOR_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
double m_first;
public:
double m_second;
public:
CString m_operator;
public:
double m_coff;
public:
CString m_display;
public:
void UpdateDisplay(double dck);
public:
void Calculate(void);
public:
afx_msg void OnBnClickedButton0();
public:
afx_msg void OnBnClickedBut
文档评论(0)