- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《短学期MFC文档
课题名称
实用计算器设计
问题陈述
目前市场上的计算器主要分为两类:简单计算器和多功能计算器。前者过于简单,而后者又太复杂,如果能够设计一个适合学生用的界面简单,但功能齐备的计算器,就能很好的解决这个问题。
设计目标与设计任务
运用MFC技术编写一个实用计算器,实现不同的功能,设计平时常用按键,加快运算速度。
解题算法思想和数据结构描述
总体思想:首先,确定一个框架,实现简单计算器功能;然后,添加相应的实用计算功能;最后,将这些整合,协调,构成一个完整的计算器。
具体设计描述:
前期工作:
建立一个基于对话框的程序
点击OK进入下一步
点击Finish 完成建立工作
修改对话框,删除、修改、添加相应的按钮及文字:
修改对话框上的按键,先设计初值:
定义变量:
double m_Num;//记录编辑框中的数据
bool m_Time;//判断是否为第1次按下数字键
char m_Operator;//保存运算符
char m_Oper[4];//保存操作键命令
定义函数:
void Count();
添加消息响应函数:
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)//数字键1
ON_BN_CLICKED(IDC_BUTTON2, OnButton2) //数字键2
ON_BN_CLICKED(IDC_BUTTON3, OnButton3) //数字键3
ON_BN_CLICKED(IDC_BUTTON4, OnButton4) //数字键4
ON_BN_CLICKED(IDC_BUTTON5, OnButton5) //数字键5
ON_BN_CLICKED(IDC_BUTTON6, OnButton6) //数字键6
ON_BN_CLICKED(IDC_BUTTON7, OnButton7) //数字键7
ON_BN_CLICKED(IDC_BUTTON8, OnButton8) //数字键8
ON_BN_CLICKED(IDC_BUTTON9, OnButton9) //数字键9
ON_BN_CLICKED(IDC_BUTTON10,OnButton10) //数字键0
ON_BN_CLICKED(IDC_BUTTON11, OnButton11) //清零
ON_BN_CLICKED(IDC_BUTTON12, OnButton12) //运算符‘=’
ON_BN_CLICKED(IDC_BUTTON13, OnButton13) //运算符‘+’
ON_BN_CLICKED(IDC_BUTTON14, OnButton14) //运算符‘-’
ON_BN_CLICKED(IDC_BUTTON15, OnButton15) //运算符‘*’
ON_BN_CLICKED(IDC_BUTTON16, OnButton16) //运算符‘/’
添加函数代码:
void CCalculatorDlg::Count()
{
UpdateData(TRUE);
switch(m_Operator)
{
case +:
m_Num+=m_Result;
break;
case -:
m_Num-=m_Result;
break;
case *:
m_Num*=m_Result;
break;
case /:
if(m_Result==0)
{
MessageBox(除数不能为0);
return;
}
m_Num/=m_Result;
break;
default:
m_Num=m_Result;
break;
}
m_Result=m_Num;
m_Time=TRUE;
UpdateData(FALSE);
}
//该函数是本次设计的核心,前期的简单计算都是根据它来实现;后期的部分功能也与之有很大的关系。同时该函数实现的数据的记录、显示功能。
void CCalculatorDlg::OnButton1()
{
UpdateData(TRUE);
if (m_Time==TRUE)
{
m_Result=0;
}
m_Result=m_Result*10+1;
m_Time=FALSE;
UpdateData(FALSE);
}
void CCalculatorDlg::OnButton2()
{
UpdateData(TRUE);
if (m_Time==TRUE)
{
m_Result=0;
}
m_Result=m_Result*10+2;
m_Time=FALSE;
UpdateData(FAL
您可能关注的文档
最近下载
- 湖南高速铁路职业技术学院单招《英语》常考点试卷附答案详解【A卷】.docx VIP
- T100程序设计-双档.pptx VIP
- 模块8 港浃台地区导游基础知识《地方导游基础知识》教学课件.pptx VIP
- 2025年9月最新版劳务用工合同范本(可规避风险).doc
- 模块7 西北地区导游基础知识《地方导游基础知识》教学课件.pptx VIP
- 模块6 西南地区导游基础知识《地方导游基础知识》教学课件.pptx VIP
- 汽车维修服务方案(完整版+104页).docx VIP
- 模块5 华南地区导游基础知识《地方导游基础知识》教学课件.pptx VIP
- 模块4 华中地区导游基础知识《地方导游基础知识》教学课件.pptx VIP
- 模块3 华东地区导游基础知识《地方导游基础知识》教学课件.pptx VIP
文档评论(0)