当前位置:文档之家› 简单计算器编程

简单计算器编程

计算器程序
包括4个数字按钮,1个小数点按钮,+-*/= 5个计算按钮
不接受键盘输入
计算规则:当前正在输入的数存储到字符串变量
用户输入操作符,存储已经输入的数,作为第一个数,存储操作符
用户输入第二个数
用户输入操作符,与第一个数计算,并存储为第一个数,存储操作符
小数点只能输入一次
1 创建基于对话框的程序
2 打开对话框模板,增加控件:
编辑框1个
按钮4个,文字1-4
按钮1个,文字:小数点
按钮5个,文字:+ - * / =
按钮1个,文字:关闭
3 打开类向导
为编辑框加成员变量,CString m_edit
为所有按钮加消息映射
注意:以上都加再对话框类中。

4 打开对话框类的声明,加成员变量
double m_result; //前面的结果,即第一个数
int m_opt; //前面的操作符,0=,1+,2-,3*,4/
int ,m_dot; //是否输入了小数点
CString m_string; //当前正在输入的数,存为字符串
5 继续在话框类,声明2个函数
void calculation(void); //执行计算
void NumInput(CString x) //执行数字按钮输入
6 打开函数OnInitDialog(),加初始化代码
m_result = 0;
m_opt = 0;
m_dot = 0;
m_string = "";
6 “关闭按钮”消息映射代码:
OnOK();
8 分别打开数字按钮1-4的消息映射函数,分别输入代码:
NumInput("1");
NumInput("2");
NumInput("3");
NumInput("4");
9 打开小数点按钮的消息映射函数,输入代码:
if ( m_dot==0 )
{
m_dot = 1;
NumInput(".");
}
10 分别打开 + - * / 按钮的消息映射函数,分别输入代码:
calculation();
m_opt = 0;
calculation();
m_opt = 1;
calculation();
m_opt = 2;
calculation();
m_opt = 3;
calculation();
m_opt = 4;
11 增加calculation(void)函数,输入代码:
void CfffDlg::calculation(void)
{
double cal;
CString str;
cal = _wtof( (LPCTSTR)m_string );
// cal = atof( (char*)(LPCTSTR)m_string );
if (m_opt==0) m_result = cal;
if (m_opt==1) m_result = m_result + cal;
if (m_opt==2) m_result = m_result - cal;
if (m_opt==3) m_result = m_result * cal;
if ((m_opt==4)&&(cal!=0)) m_result = m_result / cal;
m_dot = 0;
m_string = "";
str.Format("%f",m_result);
m_edit = str;
UpdateData(false);
}
12 增加NumInput(CString x)函数,输入代码:void CfffDlg::NumInput(CString x)
{
m_string += x;
m_edit = m_string;
UpdateData(false);
}
程序结构。

相关主题