求教。用mfc写计算器。sin,cos,,退格不知道怎么实现。定义的int n;double date;CString m_result;

#include"stdafx.h"#include"计算器3.h"#include"计算器3Dlg.h"#include"afxdialogex.h"#include<... #include "stdafx.h"
#include "计算器3.h"
#include "计算器3Dlg.h"
#include "afxdialogex.h"
#include <stdlib.h>
#include <math.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#endif
void C计算器3Dlg::OnBnClickedButton1()
{
m_result += _T("1");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton2()
{
m_result += _T("2");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton4()
{
m_result += _T("3");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton5()
{
m_result += _T("4");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton11()
{
m_result += _T("5");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton9()
{
m_result += _T("6");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton6()
{
m_result += _T("7");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton8()
{
m_result += _T("8");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton14()
{
m_result += _T("9");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton10()
{
m_result += _T("0");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton12()
{
m_result += _T(".");
UpdateData(FALSE);
}
void C计算器3Dlg::OnBnClickedButton17()//+
{
n = 0;
date = _wtof(m_result);
m_result = _T("");
}
void C计算器3Dlg::OnBnClickedButton3()//-
{
n = 1;
date = _wtof(m_result);
m_result = _T("");
}
void C计算器3Dlg::OnBnClickedButton15()//*
{
n = 2;
date = _wtof(m_result);
m_result = _T("");
}
void C计算器3Dlg::OnBnClickedButton7()//delete
{
n = 4;
m_result = m_result.Left(m_result.GetLength() - 1);
if (m_result == "")
{
m_result = '0';
}
UpdateData(FALSE);
}
准备在等于号写运算,n=0就执行+这样。然后退格,sin,cos就不知道怎么写了。求大神解救
void C计算器3Dlg::OnBnClickedButton13()

{
if (n == 0)
{
date += _wtof(m_result);
m_result.Format(_T("%lf"), date);
}
if (n == 1)
{
date -= _wtof(m_result);
m_result.Format(_T("%lf"), date);
}
if (n == 2)
{
date *= _wtof(m_result);
m_result.Format(_T("%lf"), date);
}
if (n == 3)
{
date /= _wtof(m_result);
m_result.Format(_T("%lf"), date);
}
}
展开
 我来答
唯夜TGBUS
2014-03-06 · TA获得超过568个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:140万
展开全部
  1. sin,cos 之类的实现挺简单的直接调用函数库就好了,头文件Math.h。具体怎么用百度一下吧。

  2. 退格也不复杂:读取文本框的值,然后转化为数字以后除10取整(浮点数之类的也差不多,就是格式化的时候不太一样),然后再转化为字符串显示出来就好了。

希望能够帮到你!

追问
是调用math.h。
void C计算器3Dlg::OnBnClickedButton19()//sin
{
n = 5;
num += sin(_wtof(m_result));
date += num;
}
但是好像不太对。。。。。。
追答

没看明白你这段代码。。。

这是我的拙见,望采纳:

CString m_str_input;//输入框关联控件变量,如果不喜欢也可以使用setWindowText实现
float temp_result;//sin计算的结果
temp_result = sin(_wtof(m_str_input));
m_str_input.format( TEXT("%f") , temp_result );//格式化输出,如果设置了控件变量转换完就自动显示了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
任明星Ming
2014-03-06 · TA获得超过798个赞
知道小有建树答主
回答量:1061
采纳率:100%
帮助的人:1150万
展开全部

这里有个你想要的实例,打开看看吧。

更多追问追答
追问
大神。我把文件发你。你帮我改下好吧。
追答
╮(╯▽╰)╭,我最近都在忙开发的事,你先发给我看看吧。。。
3099jo@163.com
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-06
展开全部
杰伦杰伦李连杰基金
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式