版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
O或隆)分“孝
邮电与信息工程学院
课程设计说明书
课题名称:mfc制作简朴计算器系统软件综合设计
学生学号:_____________________________________
专业班级:计算机科学与技术02班
学生姓名:_________孙志宏_____________________
指导教师:杨玉禧
一.题目:运用MFC框架编写简易计算器
规定使用MFC框架在VisualStudio6.0环境下编写一个简易的计算器,支持任意位数的
加减乘数,正负转换,并且实现BackSpaceCEC功能。
二.设计过程
1.Windows消息解决机制的理解
一方面编写程序需要对Windows程序的消息解决机制(MessageHand1e)有个比较清楚的
了解。Windows的程序都是通过消息来传送数据,有不需要用户参与的系统消息,比如异常解决
等。尚有用户消息,比如鼠标的单击,双击,键盘的键入等。
界面的设计A仿照Windows附件里面的计算器,在资源视图中画好界面,如图:
L)jisuanl|次
gjisuanl
重要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。拖出的控
件有上面的一个Edit控件用于显示数字,Button控件用于解决鼠标的消息。
2.建立的变量,控件的命名,相应的消息解决函数相应表
3变量定义,以及初始化
longintiFirst,a;定义两个长整型变量ifirst,a
intiType;定义整形变量iType
longintiRet=0;定义一个长整型变量iRet并初始化
4设计思绪
1我制作的是简朴的计算渊,可以加减乘除,以及清零。所以我们先应把计算器的界面设计出
来。•分数字键和功能键
2数字键0,1,2,3,4,5,6,7,8,9这10个命令按钮控制的数字键,在编写数字键代码时,我
考虑了比如111的输出,我们可以用m_edit=m_edit*l0+n(n代表你下一步所需按的
键),这样你当前的文本框会显示出你想得到的数,尚有我们输入的都是数字,所以我采用的
是长整型输入数据
3功能键+-*/以及清零键CE,其中这里我们这些功能键并不是直接来运营的而是把他们
当作一种标志分别标志为1234,真正执行运算功能的是等于键=
4等于键=这里我们采用swichcash语句来执行运算的功能的,当读到标志为1时,即
为加法,执行加法功能。。。以此类推
5程序代码
在这里我就把整个程序代码写下来,,就写我们的数字和功能键部分的代码把
下面是数字键代码
voidCJisuan1D1g::0n0()
{m_edit=m_edit*10+0;这里我们采用这个表达式是想把数字连起来显示在文本框中
UpdateData(false);你在程序里面改了变量的值.把这个变化反映到界面上..更
新显示.4
)
voidCJisuanlDIg::Onl()
{m_edit=m_edit*10+1;
UpdateData(false);
voidCJisuanID1g::On2()
(
m_edit=m_edit*10+2;
UpdateData(fa1se);//TODO:Addyourcontro1notificationhandlercode
here
voidCJisuan1Dig::On3()
m_edit=m_edit*10+3;
UpdateData(fa1se);//TODO:Addyourcontro1notificationhandler
codehere
voidCJisuanlDlg::On4()
{m_edit=m_edit*l0+4;
UpdateData(false);
o//TODO:Addyourcontro1notificationhandlercodehere
voidCJisuanlDlg::On5()
{m_edit=m_edit*l0+5;
UpdateData(false);
//TODO:Addyourcontrolnotificationhandlercodehere
voidCJisuanlD1g::On6()
{m_edit=m_edit*10+6;
UpdateData(fa1se);
//TODO:Addyourcontrolnotificationhand1ercodehere
)
voidCJisuanlD1g::On7()
{m_edit=m_edit*10+7;
UpdateData(false);
“/TODO:Addyourcontrolnotificationhandlercodehere
voidCJisuanlDlg::On8()
{m_edit=m_edit*10+8;
UpdateData(false);
o//TODO:Addyourcontrolnotificationhandlercodehere
0
)
voidCJisuan1D1g::On9()
(
om_edit=m_edit*10+9;
»UpdateData(fa1se);
b
}
下面是功能键的代码:
voidCJisuanlDlg::OnCheng()
(
°iFirst=m_edit;ifirst是我们定义的长整型变量,第一个值显示在文本框上
“Type=3;3是乘的标志
m_edit=O;这里文本框重新显示为0
UpdateData(fa1se);刷新并使文本框中显示为0
)
voidCJisuanlD1g::0nChu()
(
iFirst=m_edit;
®iType=4;
m_edit=0;
®UpdateData(faIse);
)
下面是执行运算的代码即=键的代码
voidCJisuan1D1g::OnDengyu()
(
1ongintiRet=0;定义一个长整型变量iRet并初始化
switch(iType)采用switch。。cash语句
(
case1:当iType为1即为加法时
iRet=iFirst+m_edit;等于第一个数加上当前文本框中显示的数,结果并赋
予iRet
break;
case2:
iRet=iFirst—m_edit;
break;
case3:
iRet=iFirst*m_edit;
break;
case4:
if(m_edit!=0)假如除一个不为0的数的
(
iRet=iFirst/m_edit;
break;
)
eIse否则
(
MessageBox(Mcan'tusezero!");
}
return;
)
m_edit=iRet;
UpdateData(false);
iFirst=0;
iType=0;
}
voidCJisuanlD1g::OnJia()
(
“First=m_edit;
iType=l;
m_edit=0;
UpdateData(false);
voidCJisuanlDlg::OnJian()
aiFirst=m_edit;
®iType=2;
«rn_edit=0;
UpdateData(false);
)
下面是清零键代码
voidCJisuan1Dig::OnQingling()
(
♦First=0;第一个数重新为0
iType=0;标志为0
m_edit=0;当前文本框中显示为0
QUpdateData(false);刷新
)
voidCJisuan1Dlg::OnChangeEdit1()
(
)
6运营界面
比如我们想算158+232=?
先输入158,界面如卜
田jisuanl
然后按命令按钮“十”界面如下
男jisuanl
输入232得到下面界面
男jisuanl
参考的文献:C++面向对象程序设计谭浩强编著清华大学出版社
MFC,微软基础类(MicrosoftFoundationC1asses)
总结:
本次MFC计算器的制作,学习到了MFC基本的编程方法,增长了小组开发的团结协作能力。
对OOP编程的理解进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班级公开课与示范教学计划
- 秋季数字化学习与在线教育实施计划
- 第1课时 三位数乘两位数(教学实录)-2024-2025学年四年级上册数学人教版
- 三年级信息技术上册 第八课 寻找“食人花”教学实录 华中师大版
- 2024年服装设计师兼职合同
- 2024年度桥西区图书馆数字资源室租赁协议3篇
- 8制作我的小乐器 教学实录-2024-2025学年科学四年级上册教科版
- 六盘水职业技术学院《自动化工具软件》2023-2024学年第一学期期末试卷
- 2024年秋季国开电大《形势与政策》形考作业参考答案
- 2024SaaS企业管理软件销售及服务合同3篇
- 《物流系统规划与设计》课程教学大纲
- 护理质控分析整改措施(共5篇)
- 金属矿山安全教育课件
- 托盘演示教学课件
- 中华农耕文化及现实意义
- DB32T 4353-2022 房屋建筑和市政基础设施工程档案资料管理规程
- DBJ61-T 112-2021 高延性混凝土应用技术规程-(高清版)
- 2023年高考数学求定义域专题练习(附答案)
- 农产品品牌与营销课件
- 苏科版一年级心理健康教育第17节《生命更美好》教案(定稿)
- 车辆二级维护检测单参考模板范本
评论
0/150
提交评论