苹果手机qq小冰怎么开启设置

端午节这两天没什么事,就用MFC写了一个简单的计算器,界面做的也比较简单,如下图1,可以进行简单的加、减、乘和除功能,小数点显示这块做的不是很好,比如输入1.2,不会一个个的显示,而是先显示&1&,后同时显示&.2&,还有就是遇到0.00时,显示的也不够人性化,哎,就这样吧。。。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图1
1、建立工程:New -& Projects,选择Win32 MFC AppWizard(exe),并输入工程(counter)名字及设置好路径,点击OK,选择&Dialog based&,基于对话框,直接点finish。
2、将对话框进行简单的处理,把无关的按钮删掉,添加自己的按钮及Edit Box,如图2。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图2
3、对按钮及Edit Box进行属性设置,比如按钮1属性设置为&IDC_BUTTON_1&,2设置为IDC_BUTTON_2,一直类推。Edit Box不仅要设置ID(IDC_DISPLAY),还要设置相关连的成员变量,右键,选择ClasssWizard..,在点击Add Variable..,这里设置为double m_display。
4、对每个按钮添加消息处理函数,只需双击该按钮,按照提示点OK,就进入到了该函数入口处。
  1设置void CCounterDlg::OnButton1();
  2设置void CCounterDlg::OnButton2();
  其他类推。
&&&&& 加 void CCounterDlg::OnButtonAdd();
  减void CCounterDlg::OnButtonSub();
&&&&& 乘void CCounterDlg::OnButtonMult();
&&&&& 除void CCounterDlg::OnButtonDiv();
&&&&& = void CCounterDlg::OnButtonEqual();
5、定义成员变量
&&&//计数&BOOL dot_&//小数点标志&BOOL continue_//没按运算符,是否一直连续按数字按钮标志&BOOL str_//有没按运算符标志&CS//记录当前按的运算符& //num1和num2运算的结果&double num1; //按运算符之前的第一个数
&double num2; //按运算符之后的第二个数
6、定义成员函数,该函数主要是对按下的数字进行叠加,跟踪num1和num2:
double CCounterDlg::buttonDownNum(int numSize);
7、当按下之后数字要及时显示出来,需要用到:
UpdateData(FALSE);& //该函数是对Edit Box的内容进行更新,FALSE是有内部数成员的数据值更新到界面上,TRUE是从界面上更新到内部的数据成员上。
GetDlgItem(IDC_DISPLAY)-&SetWindowText("小数点");//可以利用这个语句直接在Edit Box上显示内容&小数点&。只是提示自己也可以用这个来显示,程序中注释掉了。
8、代码实现:
//贴出自己添加的代码,其他代码默认有的
#include "math.h"
// CCounterDlg dialog
CCounterDlg::CCounterDlg(CWnd* pParent /*=NULL*/)
: CDialog(CCounterDlg::IDD, pParent)
//{{AFX_DATA_INIT(CCounterDlg)
m_display = 0.0;
result = 0.0;
str_flag = FALSE;
continue_flg = FALSE;
downDot = FALSE;
count = 1;
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()-&LoadIcon(IDR_MAINFRAME);
double CCounterDlg::buttonDownNum(int numSize)
if (!str_flag) //运算符没有被按下,那就是num1
if (!continue_flg) //按下一次
num1 = numS
continue_flg =TRUE;
num1 = num1*pow(10,count) + numS
if (downDot)
num1 = num1/(pow(10,count));
return num1;
//有运算符被按下
if (!continue_flg) //是否连续按下
num2 = numS
continue_flg =TRUE;
num2 = num2*pow(10,count) + numS
if (downDot)
num2 = num2/(pow(10,count));
return num2;
void CCounterDlg::OnButton0()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(0);
UpdateData(FALSE);
void CCounterDlg::OnButton1()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(1);
UpdateData(FALSE);
void CCounterDlg::OnButton2()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(2);
UpdateData(FALSE);
void CCounterDlg::OnButton3()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(3);
UpdateData(FALSE);
void CCounterDlg::OnButton4()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(4);
UpdateData(FALSE);
void CCounterDlg::OnButton5()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(5);
UpdateData(FALSE);
void CCounterDlg::OnButton6()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(6);
UpdateData(FALSE);
void CCounterDlg::OnButton7()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(7);
UpdateData(FALSE);
void CCounterDlg::OnButton8()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(8);
UpdateData(FALSE);
void CCounterDlg::OnButton9()
// TODO: Add your control notification handler code here
m_display = buttonDownNum(9);
UpdateData(FALSE);
void CCounterDlg::OnButtonDot() //小数点
// TODO: Add your control notification handler code here
downDot = TRUE;
GetDlgItem(IDC_DISPLAY)-&SetWindowText("小数点"); //可以利用该函数在编辑框中显示信息
void CCounterDlg::OnButtonAdd() //加
// TODO: Add your control notification handler code here
str = "+";
str_flag = TRUE;
continue_flg = FALSE;
downDot = FALSE;
count = 1;
UpdateData(FALSE);
void CCounterDlg::OnButtonSub()
// TODO: Add your control notification handler code here
str = "-";
str_flag = TRUE;
continue_flg = FALSE;
downDot = FALSE;
count = 1;
UpdateData(FALSE);
void CCounterDlg::OnButtonMult()
// TODO: Add your control notification handler code here
str = "*";
str_flag = TRUE;
continue_flg = FALSE;
downDot = FALSE;
count = 1;
UpdateData(FALSE);
void CCounterDlg::OnButtonDiv()
// TODO: Add your control notification handler code here
str = "/";
str_flag = TRUE;
continue_flg = FALSE;
downDot = FALSE;
count = 1;
UpdateData(FALSE);
void CCounterDlg::OnButtonEqual()
// TODO: Add your control notification handler code here
if(str == "+")
result = num1 + num2;
else if(str == "-")
result = num1 - num2;
else if(str == "*")
result = num1 * num2;
else if(str == "/")
result = double(num1) / double(num2);
m_display =
str_flag = FALSE;
continue_flg = FALSE;
downDot = FALSE;
count = 1;
UpdateData(FALSE);
void CCounterDlg::OnButtonClear()
// TODO: Add your control notification handler code here
m_display = 0;
continue_flg = FALSE;
str_flag = FALSE;
downDot = FALSE;
count = 1;
UpdateData(FALSE);
阅读(...) 评论()VC++_mfc编计算器+源代码_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
VC++_mfc编计算器+源代码
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩33页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
5、给编辑框添加变量。在编辑框出右击选择 Class Wizard,在弹出的对话框中选择Member ariables找到编辑框的ID,选择Add Variable按钮,添加CEdit类型的变量m_display。
& 然后给CMyCalDlg类型添加如下三个变量。
double m_curN& //当前操作数
double m_preN& //前一操作数
& //当前操作符
6、给按钮添加相应代码。在编辑好的界面上双击想要添加代码对象的按钮,然后添加相应的代码就好。
举例响应数字1 的代码:
void CMyCallDlg::On1() {&// TODO: Add your control notification handler code here&m_curNum=m_curNum*10+1;&CS&str.Format(_T("%f"),m_curNum); &//设定以单精度行显示&m_display.SetWindowText(str);&UpdateData(FALSE);}
& 响应运算+ 的代码:
void CMyCallDlg::OnButtonadd() {&// TODO: Add your control notification handler code here&&& m_preNum=m_curN&m_curNum=0;&op='+';&CS&str.Format(_T("%f"),op); &//设定以单精度行显示&m_display.SetWindowText(str);&UpdateData(FALSE);}
响应运算=的代码
void CMyCallDlg::OnButtonequal() {&// TODO: Add your control notification handler code here&double result=0;&switch(op)&{&case '+':result=m_preNum+m_curN&case '-':result=m_preNum-m_curN&case '*':result=m_preNum*m_curN&case '/':result=m_preNum/m_curN&}&CS&str.Format(_T("%f"),result);//设定以单精度行显示&m_display.SetWindowText(str);&UpdateData(FALSE);}
响应CE(清零)的代码
void CMyCallDlg::OnButton17()&& //清零{&// TODO: Add your control notification handler code here&m_curNum=0;&m_preNum=0;&CS&str.Format(_T("%f"),m_curNum);//设定以单精度行显示&m_display.SetWindowText(str);&UpdateData(FALSE);}
由于本人的能力和时间问题,只实现了最基本的加减乘除运算,目前还没添加负数的运算,而且本程序在进行运算时只能先清零,希望有志之士能够进行更改,加以更新。。。我也会再努力的。。。。&
阅读(8199)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'用MFC编写一个简单的计算器,实现算术运算的加减乘除运算',
blogAbstract:'1、利用MFC APPWizard 向导建立程序框架,选择Dialog based,建立一个基于对话框的程序,项目名为MyCal;
2、利用资源编辑器,建立对话框。在控件工具栏中选择“Edit Box”,添加一个编辑框,并右击选择“Properties”设置其ID属性。
3、在控件工具栏中选择Button,添加一个按钮,并设置其ID属性。
4、依次添加若干按钮,分别用于加减乘除操作及相应的操作数据。
&&&&&& 编辑好的界面如下图:
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:9,
publishTime:7,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:2,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}基于VC的MFC计算器案例步骤及源代码 - flycatdeng - ITeye技术网站
博客分类:
严重受不了那些下载需要积分豆豆什么的!!!
本人做了一个一个计算器上交报告,拿出来分享分享!!!
基于VC的MFC计算器案例步骤及源代码
基于VC的MFC计算器案例详细步骤有图有代码,图中右边的各个函数也都能实现:清除,加,减,乘,除,倒数,e的x次方,以e为底x的对数,10的x次方,以10为底x的对数,余弦,反余弦,双曲余弦值,正弦,反正弦,双曲正弦值,正切,反正切,双曲正切值,x的y次方,2的x次方,n(n为整数)的阶乘。如图: 步骤:
1.创建一个基于对话框的应用程序(这一步应该都会吧!),命名为dckC
2.打开资源视图-&点击“dckCalculator”左边的“+”-&点击“dckCalculator.rc”左边的“+”-&点击“Dialog”左边的“+”-&双击“IDD_DCKCALCULATOR_DIALOG”-&去除“确定”“取消”“TODO: 在此放置对话框控件。”几个组件(全选。然后右击选择“删除”即可):
3.按照我们想要的效果给对话框添加组件-&编辑各个组件的显示名字-&改变其ID属性
4.将编辑框的属性中的Align Text设置为right,如图:
5.设置相关属性(每次改变ID都要保存一下):
Caption(名称)
IDC_BUTTON0
IDC_BUTTON1
IDC_BUTTON2
IDC_BUTTON3
IDC_BUTTON4
IDC_BUTTON5
IDC_BUTTON6
IDC_ARCCOS
IDC_BUTTON7
IDC_ARCSIN
IDC_BUTTON8
IDC_BUTTON9
IDC_ARCTAN
IDC_BUTTON_SIGN
IDC_BUTTON_POINT
IDC_BUTTON_ADD
IDC_BUTTON_MINUS
IDC_BUTTON_MUTIPLY
IDC_BUTTON_DIV
IDC_NJIECHENG
IDC_BUTTON_CLEAR
IDC_BUTTON_SQRT
IDC_JIAODU
IDC_BUTTON_RECI
IDC_DISPLAY(只读)
IDC_BUTTON_EQUAL
6.将编辑框中属性的“read only”设置为ture!
7.在类视图中给CdckCalculatorDlg类添加成员变量:
int m_duT初始值为0,用来作为判定弧度还是角度的变准;
double m_//存储一次运算的第一个操作数及一次运算的结果
double m_//存储一次运算的第二个操作数
CString m_//存储运算符
double m_//存储小数点的系数权值
8.给编辑框添加关联变量:(右击编辑框-&添加变量)
CString m_display;//编辑框IDC_DISPLAY的关联变量,显示计算结果(注意最右边选择“value”)
9.双击“弧度”给其添加事件响应(等价于右击然后添加事件处理器);
同理双击“角度”添加代码:
为,这里为刚好可以为计算器默认为弧度计算
为;这哥主要是作为以后函数算法的判断标准
10.在对话框类的构造函数中,初始化成员变量:
······
11.类视图里手动为对话框添加2个函数:
——用于编辑框显示数据
——用于计算结果
代码如下(由于在代码中要用到fabs,要在CdckCalculatorDlg.cpp里添加一个库:#include "math.h"):
将输出结果后的零截去
12.如上添加函数void
onButtonN(int n);以便数字按钮调用响应
13.双击各个数字按钮,添加响应,调用函数:如:
······
14.为各个运算符号添加事件处理器:
// - *方法类似
15.同理添加其他特殊函数按钮事件处理器,其中大部分在API里math类里都有定义好了的 可以直接用的函数,当然有几个是自己写的如(n!和x^y而且第二个比较棘手),然后还有一个问题就是,里面的函数括号里面跟的值是弧度,而不是角度,这就需要我们去判断了,也就是说m_duType终于派上用场了,只要switch,m_duType,case得到0即默认的为弧度,case1 则值为角度,然后转换值赋给我们需要的显示出来:还是如上手动添加一个函数: ;
但是此时我们还需要PI,但是我们不能直接得到所以在这之前我们需要添加成员变量m_PI,并赋予初值m_PI=;代码如下:
16.编辑其他函数的代码:
17.现在来看我们需要先得到
然后点击按钮后再得到,在点击“”按钮后得到结果:步骤:如上添加变量 型
默认为,再添加一个中间变量 当点击按钮的时候我们将编辑框显示的结果赋值给,然后将设置为,编辑框显示为,设置为如下代码:
(再输入新数据,然后再按“=”,所以在=之前我们需要对做出判断 如果按了则为,则我们将上面的数字记下然后参与计算,如果为就不算:)
添加一个函数
按钮,点击了后又作何运算
然后在每次等于之前都调用一下这个函数,如果点击了按钮则执行里面的代码,所以“”的代码需要修改一下:
18.n的阶乘:我们需要利用递归,如上添加函数int
jiecheng(int n)
利用递归,返回阶乘值,代码如下:
在n!的按钮消息处理里,如果输入的不是整数则不能进行阶乘运算:
19.所有按钮事件处理已经完成,编译运行:
自我检测,所有功能都能正确运行!完成!!!
&!--EndFragment--&
下载次数: 409
浏览 35341
flycatdeng
浏览: 192671 次
来自: 深圳
写的非常好!!不过我有几个小建议~希望楼主能更正一下~~[co ...
夜色蓝 写道我想说dx在sdk的build-tools里面比如 ...
我想说dx在sdk的build-tools里面比如build- ...
q 写道Configs.REQUEST_S ...
Configs.REQUEST_SET_LIVE_WALLPA ...

我要回帖

更多关于 微软小冰 的文章

 

随机推荐