VC++实现标准型计算器步骤及源码
VC++实现标准型计算器步骤及源码
- int numb;
- int h; //.计数
- double temp4;
- double temp1;
- double temp3;
- double temp2;
- CString ss;
- char sign;
- int a; //减法计数
- int b; //乘法计数
- int c; //除法计数
- int d; //加法计数
- sign=0;
- CString ss="0";
- temp4=0;
- temp2=0;
- a=b=c=d=0;
- h=0;
- numb=0;
- void CShiyanDlg::OnOn1()
- {
- UpdateData(1);//上传数据开启
- if(numb==1)//判断是否已经按下=号建
- {
- ss="";
- m_text;
- numb=0;
- }
- int a;
- a=ss.GetLength();//截取当前显示框字符串长度
- ss.Insert(a,"1");//插入字符
- m_text=ss;
- UpdateData(0);//上传数据关闭
- // TODO: Add your control notification handler code here
- }
“+”号键程序:
- void CShiyanDlg::Onadd()
- {
- h=0;
- a=b=c=0;
- d++;
- UpdateData(1);
- temp1=atof(ss);
- if((sign=='-')||(sign=='*')||(sign=='/'))
- {
- switch(sign)//change
- {
- case'-':
- {
- temp1=atof(ss);
- temp4=temp4-temp1;
- break;
- }
- case'*':
- {
- temp1=atof(ss);
- temp4=temp4*temp1;
- break;
- }
- case'/':
- {
- temp1=atof(ss);
- temp4=temp4/temp1;
- break;
- }
- }
- }
- else
- {
- if (d==1)///carefull!!
- temp4=temp1;
- else
- temp4=temp4+temp1;
- }
- ss="";
- m_text=ss;
- m_show=temp4;
- sign='+';
- //numb++;
- UpdateData(0);
- // TODO: Add your control notification handler code here
- }
“-”号键程序:
- void CShiyanDlg::Onsub()
- {
- h=0;
- b=c=d=0;
- a++;
- UpdateData(1);
- temp1=atof(ss);
- if((sign=='+')||(sign=='*')||(sign=='/'))
- {
- switch(sign)//change
- {
- case'+':
- {
- temp1=atof(ss);
- temp4=temp4+temp1;
- break;
- }
- case'*':
- {
- temp1=atof(ss);
- temp4=temp4*temp1;
- break;
- }
- case'/':
- {
- temp1=atof(ss);
- temp4=temp4/temp1;
- break;
- }
- }
- }
- else
- {
- if (a==1)///carefull!!
- temp4=temp1;
- else
- temp4=temp4-temp1;
- }
- ss="";
- m_text=ss;
- m_show=temp4;
- sign='-';
- //numb++;
- UpdateData(0);
- // TODO: Add your control notification handler code here
- }
“*”号键程序:
- void CShiyanDlg::Onmul()
- {
- a=c=d=0;
- h=0;
- b++;
- UpdateData(1);
- temp1=atof(ss);
- if((sign=='+')||(sign=='-')||(sign=='/'))
- {
- switch(sign)//change
- {
- case'+':
- {
- temp1=atof(ss);
- temp4=temp4+temp1;
- break;
- }
- case'-':
- {
- temp1=atof(ss);
- temp4=temp4-temp1;
- break;
- }
- case'/':
- {
- temp1=atof(ss);
- temp4=temp4/temp1;
- break;
- }
- }
- }
- else
- {
- if (b==1)///carefull!!
- temp4=temp1;
- else
- temp4=temp4*temp1;
- }
- ss="";
- m_text=ss;
- m_show=temp4;
- sign='*';
- //numb++;
- UpdateData(0);
- // TODO: Add your control notification handler code here
- }
“.”键程序:
- void CShiyanDlg::Onpoint()
- {
- UpdateData(1);
- int a;
- if(h==0)
- {
- a=ss.GetLength();
- ss.Insert(a,".");
- m_text=ss;
- }
- else
- {;}
- h=1;
- UpdateData(0);
- //sign=0;
- //a=0;
- // TODO: Add your control notification handler code here
- }
乘方键程序:
- void CShiyanDlg::Onsqrt() //try again
- {
- UpdateData(1);
- temp4=atof(ss)*atof(ss);
- ss.Format(_T("%f"),temp4);
- m_text=ss;
- m_show=temp4;
- //sign=0;
- UpdateData(0);
- // TODO: Add your control notification handler code here
- }
“+/-”键程序:
- void CShiyanDlg::Onsign()
- {
- UpdateData(1);
- numb=0;
- temp2=-atof(ss);
- ss.Format(_T("%f"),temp2);
- m_text=ss;
- m_show=temp2;
- temp2=0;
- UpdateData(0);
- // TODO: Add your control notification handler code here
- }
“C”键程序:
- void CShiyanDlg::OnCE() //C
- {
- numb=0;
- h=0;
- UpdateData(1);
- ss="";
- m_text=ss;
- m_show=atof(ss);
- temp1=0;
- temp2=0;
- temp3=0;
- temp4=0;
- sign='o';
- UpdateData(0);
- a=b=c=d=0;
- // TODO: Add your control notification handler code here
- }
“DEL”键程序:
- void CShiyanDlg::Ondel()
- {
- UpdateData(1);
- int u,v;
- ss=m_text;
- v=ss.GetLength();
- u=v-1;
- ss.Format("%s",ss.Left(u));
- m_text=ss;
- UpdateData(0);
- // TODO: Add your control notification handler code here
- }
“=”号建:
- void CShiyanDlg::Onequ()
- {
- numb=1;
- h=0;
- UpdateData(1);
- switch(sign)
- {
- case '+':
- {
- a=b=c=0;
- temp1=atof(ss);
- d++;
- if (d==1)
- temp4=temp1;
- else
- temp4=temp4+temp1;
- ss.Format(_T("%f"),temp4);
- m_text=ss;
- m_show=temp4;
- temp1=0;
- temp4=0;
- d=0;
- break;
- }
- case '-':
- {
- b=c=d=0;
- temp1=atof(ss);
- a++;
- if (a==1)
- temp4=temp1;
- else
- temp4=temp4-temp1;
- ss.Format(_T("%f"),temp4);
- m_text=ss;
- m_show=temp4;
- temp1=0;
- temp4=0;
- a=0;
- break;
- }
- case '*':
- {
- a=c=d=0;
- temp1=atof(ss);
- b++;
- if (b==1)
- temp4=temp1;
- else
- temp4=temp4*temp1;
- ss.Format(_T("%f"),temp4);
- m_text=ss;
- m_show=temp4;
- temp1=0;
- temp4=0;
- b=0;
- break;
- }
- case '/':
- {
- a=b=d=0;
- temp1=atof(ss);
- c++;
- if (c==1)
- temp4=temp1;
- else
- temp4=temp4/temp1;
- ss.Format(_T("%f"),temp4);
- m_text=ss;
- m_show=temp4;
- temp1=0;
- temp4=0;
- c=0;
- break;
- }
- //a=b=c=d=0;
- }
- sign=0;
- UpdateData(0);
- // TODO: Add your control notification handler code here
- }
VC++实现标准型计算器步骤及源码的更多相关文章
- PHP 使用GD库合成带二维码的海报步骤以及源码实现
PHP 使用GD库合成带二维码的海报步骤以及源码实现 在做微信项目开发过程中,经常会遇到图片合成的问题,比如将用户的二维码合成到宣传海报中,那么,遇到这种情况,利用PHP的GD库也是很容易实现的,实现 ...
- PHP 使用GD库合成带二维码和圆形头像的海报步骤以及源码实现
PHP 使用GD库合成带二维码和圆形头像的海报步骤以及源码实现 之前记录过一篇文章,不过那只是简单将二维码合成到海报中去,这次还要合成头像,而且是圆形.所需要素材就不一一列举,直接代码吧 1.先获取用 ...
- Mybatis源码解析,一步一步从浅入深(二):按步骤解析源码
在文章:Mybatis源码解析,一步一步从浅入深(一):创建准备工程,中我们为了解析mybatis源码创建了一个mybatis的简单工程(源码已上传github,链接在文章末尾),并实现了一个查询功能 ...
- ubuntu安装qt步骤(源码)
1.安装gcc,g++ sudo apt-get install gcc sudo apt-get install g++ 2.解压源码包 tar xvzf qt-xxxx 3.安装xlib库 sud ...
- C语言实现计算器,附源码,超简单!
#include<stdio.h> #include<math.h> void main() { calculator(); } double calculator() { / ...
- 微信小程序实例源码大全
微信小程序实例源码大全下载 微信小应用示例代码(phodal/weapp-quick)源码链接:https://github.com/phodal/weapp-quick 微信小应用地图定位demo( ...
- Android源码之Gallery专题研究(1)
前言 时光飞逝,从事Android系统开发已经两年了,总想写点什么来安慰自己.思考了很久总是无法下笔,觉得没什么好写的.现在终于决定写一些符合大多数人需求的东西,想必使用过Android手机的人们一定 ...
- 近期热门微信小程序demo源码下载汇总
近期微信小程序demo源码下载汇总,乃小程序学习分析必备素材!点击标题即可下载: 即速应用首发!原创!电商商场Demo 优质微信小程序推荐 -秀人美女图 图片下载.滑动翻页 微信小程序 - 新词 GE ...
- jQuery源码研究——怎么看源码
废话 这几天有想看源码的想法,于是就开始了源码的研究,经过几天的摸索发现看源码还是有点技巧在里面的,想着把这些东东写下来作为一个小总结. 在一个多月前我对Vue源码进行了一次研究,那时看源码的方式基本 ...
随机推荐
- 如何用Visual Studio Code远程调试运行在服务器上的nodejs应用
假设我有一个nodejs应用,运行在AWS - 亚马逊云平台上(Amazone Web Service).我想用本地的Visual Studio Code来远程调试服务器端的nodejs应用. Vis ...
- @ComponentScan注解及其XML配置
开发中会经常使用包扫描,只要标注了@Controller.@Service.@Repository,@Component 注解的类会自动加入到容器中,ComponentScan有注解和xml配置两种方 ...
- 【python+beautifulsoup4】Beautifulsoup4
Beautiful soup将复杂HTML文档转换成一个复杂的属性结构,每个节点都是python对象,所有对象可归纳为4种Tag,NavigableString,BeautifulSoup,Comme ...
- 09_Redis_消息订阅与发布
一:Redis 发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下图展示了频道 c ...
- 03_Redis_String命令
一:Redis命令---String命令:Redis 字符串数据类型的相关命令用于管理 redis 字符串值 字符串类型是Redis中最为基础.常用的数据存储类型,字符串在Redis中是二进制安全的, ...
- 【完美解决】vue,页面跳转样式错位但是刷新又好了的情况
在vue文件中,做样式分离: 将覆盖样式单独写在一个style标签内,原页面写在 scoped样式作用域下.
- jenkins"控制台输出"乱码问题解决
今天在搭建Jenkins环境时,安装完Tomcat.Jenkins.创建项目进行构建后,在查看控制台输出时,结果中文全部显示乱码.然后呢,就是漫长的解决历程,最终呢,解决乱码问题的时间终于超过了环境搭 ...
- ak-2
1.人大金仓数据 jdbc 安装完成之后有个jdbc的文件夹 里边就是 jdbc包,相应的window前端工具有jdbc示例,因为太多没看全呢,有一个“”模式“”的概念 jdbc连接时如果要指定模 ...
- Python 读取txt文件,排序并写回文件
# 'C:\Users\SAM\Desktop\数据竞赛\个人征信_1108\个人征信\train\bank_detail_train.txt'# 反斜杠的写法会报编码错误f=open('C:/Use ...
- Educational Codeforces Round 73 (Rated for Div. 2) A. 2048 Game
链接: https://codeforces.com/contest/1221/problem/A 题意: You are playing a variation of game 2048. Init ...