计算器的实验报告
5 程序代码 在这里我就把整个程序代码写下来,,就写我们的数字和功能键部分的代码把
下面是数字键代码 void CJisuan1Dlg::On0() {m_edit=m_edit*10+0; 这里我们采用这个表达式是想把数字连起来显示在文本框中 UpdateData(false); 你在程序里面改了变量的值.把这个变化反应到界面上..更新显示..
}
void CJisuan1Dlg::On1() {m_edit=m_edit*10+1; UpdateData(false);
}
void CJisuan1Dlg::On2() { m_edit=m_edit*10+2; UpdateData(false); // TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
}
void CJisuan1Dlg::On5() {m_edit=m_edit*10+5; UpdateData(false);
// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
}
void CJisuan1Dlg::On8() {m_edit=m_edit*10+8; UpdateData(false);
// TODO: Add your control notification handler code here
二.设计过程
1. Windows 消息处理机制的理解 首先编写程序需要对 Windows 程序的消息处理机制(Message Handle)有个比较清晰的了解。 Windows 的程序都是通过消息来传送数据,有不需要用户参与的系统消息,比如异常处理等。还 有用户消息,比如鼠标的单击,双击,键盘的键入等。
邮电与信息工程学院 课程设计说明书
课题名称:mfc 制作简单计算器 系统软件综合设计
学生学号:
1002030218
专业班级:
计算机科学与技术 02 班
学生姓名:
孙志宏
指导教师:
杨玉蓓
一.题目:利用 MFC 框架编写简易计算器
要求使用 MFC 框架在 Visual Studio 6.0 环境下编写一个简易的计算器,支持任意位数 的加减乘数,正负转换,并且实现 BackSpace CE C 功能。
}
void CJisuan1Dlg::On6() {m_edit=m_edit*10+6; UpdateData(false);
// TODO: Add your control notification handler code here
}
void CJisuan1Dlg::On7() {m_edit=m_edit*10+7; UpdateData(false);
}
void CJisuan1Dlg::On3() {
m_edit=m_edit*10+3; UpdateData(false);// TODO: Add your control notification handler code here
}
void CJisuan1Dlg::On4() {m_edit=m_edit*10+4; UpdateData(false);
long int iRet=0; 定义一个长整型变量 iRet 并初始化 switch(iType) 采用 switch 。。cash 语句 { case 1: 当 iType 为 1 即为加法时 iRet = iFirst +m_edit; 等于第一个数加上当前文本框中显示的数,结果并赋予 iRet break; case 2: iRet = iFirst -m_edit; break; case 3: iRet = iFirst *m_edit; break; case 4: if (m_edit!=0) 如果除一个不为 0 的数的 {
3 是乘的标志
m_edit=0;
这里文本框重新显示为 0
UpdateData(false); 刷新并使文本框中显示为 0
}
void CJisuan1Dlg::OnChu() {
iFirst=m_edit; iType=4; m_edit=0; UpdateData(false); } 下面是执行运算的代码即=键的代码 void CJisuan1Dlg::OnDengyu() {
界面的设计
仿照 Windows 附件里面的计算器,在资源视图中画好界面,如图:
主要使用到 Layout 菜单中的 Align 功能对各个按钮进行对其,使界面更加整洁。拖出的控 件有上面的一个 Edit 控件用于显示数字,Button 控件用于处理鼠标的消息。
2. 建立的变量,控件的命名,对应的消息处理函数对应表
3 变量定义,以及初始化
long int iFirst,a; int iType; long int iRet=0;
定义两个长整型变量 ifirst,a 定义整形变量 iType 定Biblioteka 一个长整型变量 iRet 并初始化
4 设计思路
1 我制作的是简单的计算器,可以加减乘除,以及清零。所以我们先应把计算器的界面设计 出来。。分数字键和功能键 2 数字键 0,1,2,3,4,5,6,7,8,9 这 10 个命令按钮控制的数字键,在编写数字键代 码时,我考虑了比如 111 的输出,我们可以用 m_edit=m_edit*10+n(n 代表你下一步所需按的 键),这样你当前的文本框会显示出你想得到的数,还有我们输入的都是数字,所以我采用 的是长整型输入数据 3 功能键+-*/以及清零键 CE,其中这里我们这些功能键并不是直接来运行的而是把他们当作 一种标志分别标志为 1234,真正执行运算功能的是等于键= 4 等于键= 这里我们采用 swich cash 语句来执行运算的功能的,当读到标志为 1 时,即 为加法,执行加法功能。。。以此类推
}
void CJisuan1Dlg::On9() {
m_edit=m_edit*10+9; UpdateData(false);
}
下面是功能键的代码:
void CJisuan1Dlg::OnCheng()
{
iFirst=m_edit; ifirst 是我们定义的长整型变量,第一个值显示在文本框上
iType=3;