教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

VC++ - mfc编计算器+源代码(7)

来源:网络收集 时间:2026-05-18
导读: 王井泉 《计算器程序设计》 第26页 共36页 保存在原来的2中 if(i-t==2) { a[t-z]=a[t-z]*a[i+1]; //进行乘法运算,把结果保存在前面的数组元素中 z=z+2; //这里引进变量z,可以解决很多数连续相乘的问题,比如2*2

王井泉 《计算器程序设计》 第26页 共36页

保存在原来的2中

if(i-t==2) {

a[t-z]=a[t-z]*a[i+1];

//进行乘法运算,把结果保存在前面的数组元素中

z=z+2;

//这里引进变量z,可以解决很多数连续相乘的问题,比如2*2*2*2*2*2

}

a[i-1]=a[i-1]*a[i+1];

//碰到乘号后把乘号前后2个数字相乘,结果保存在前面的数组元素

a[i+1]=1000000.0; //对乘号后面的数字初始化为0.0 b[i]=' '; //对乘号初始化为空格

//2数相乘后把乘号及其后面的数字初始化了,如果是2*3*4的情况,将会无法计算*4,所以要用开始的条件语句来解决

}

}

t=i; //把i的值赋给t

//这个循环的目的是对数组a和b进行整理,因为已经进行了乘法和除法运算,进行运算的时候,把一些数字和运算符初始化了这个函数的作用可以使中间一些初始化了的数字和符号被后面的数字和符号代替,让数组可以重新排列

for(i=0;i<=s;i++) {

if(a[i]!=1000000.0) //如果a[i]的值不为0.0 {

a[x]=a[i]; //把a[i]的值赋给a[x] }

if(b[i]!=' ') //如果b[i]的值不为空格 {

b[y]=b[i]; //把b[i]的值赋给b[y] x+=2; //x自加2

王井泉 《计算器程序设计》 第27页 共36页

}

}

y=y+2; //y自加2

//这个循环是进行最后的加减法运算

for(i=0;i<=y-2;i++)

//这里i的上限小于等于y-2,可以保证不进行多余的运算

{

if(b[i]=='+') //如果b[i]等于加号

a[0]=a[0]+a[i+1];

//把加号后的数字和a[0]相加,结果保存在a[0]中

else if(b[i]=='-') //如果b[i]等于减号

a[0]=a[0]-a[i+1];

//把减号后的数字和a[0]相减,结果保存在a[0]中 }

void CMyDlg::OnEqu() {

UpdateData(TRUE);//把编辑框显示的字符串传给相应的变量m_strResult Bracket(m_strResult);//调用Bracket(m_strResult)函数,解决括号问题 GetStr(m_strResult);

//调用函数GetStr(m_strResult),作用是把m_strResult转化成数字和加减乘除四则运算 GetResult();//调用函数GetResult(),作用是计算出表达式的值

m_strResult.Format(\//用Format函数,把双精度型小数转化为字符串 }

UpdateData(FALSE); //把字符串变量m_strResult传给编辑框

OperatorPressed=true

;//把bool变量OperatorPressed的值改为true,再次输入数字时,覆盖掉现在的m_strResult }

王井泉 《计算器程序设计》 第28页 共36页

void CMyDlg::OnAc() {

Restarted=true;

//把bool变量Restarted的值改为true,再次输入数字时,覆盖掉现在的m_strResult }

void CMyDlg::OnBac() {

UpdateData(TRUE);//把编辑框显示的字符串传给相应的变量m_strResult if(m_strResult!=\m_strResult=\//把字符串\赋给m_strResult

UpdateData(FALSE);//把字符串变量m_strResult传给编辑框

//当m_strResult不等于\且m_strResult长度大于1时

VC++ - mfc编计算器+源代码(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/607735.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)