C++怎样实现简单的计算器功能
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,C++怎样实现简单的计算器功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。限制:1、只能使用分支语句与循环语句;2、不
千家信息网最后更新 2026年11月03日C++怎样实现简单的计算器功能
C++怎样实现简单的计算器功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
限制:
1、只能使用分支语句与循环语句;
2、不能使用数组和自定义函数;
(即把自己当作只学到分支语句和循环语句的初学者)
计算器要求:
1、可以进行简单的加、减、乘、除四则运算;
2、如出现多个运算符号,必须考虑先乘除后加减的运算顺序;
3、不需要括号运算符;
一个比较简单的程序,但加上了上述的限制后,让我耗费了很大的功夫。
源代码如下:
#includeusing namespace std;int main(){ //首先要声明变量: double a0,a1,a2;//为了处理多位小数的运算,这里使用浮点型; char ca1,ca2;//字符型用于储存运算符号; //先考虑简单的情况----输入一个数后直接输入等号并输出结果; cin>>a0>>ca1; if(ca1=='=') cout< >a1>>ca2; while(1)//此处进入第一个循环,用于处理仅有加减的运算; { if(ca1=='=') {cout< >a1>>ca2;break;//由于ca2赋给ca1的值不是等号,因此会继续循环,所以必须要更新a1与ca2的值; case '*': case '/': //如果第二个运算符是乘号或除号,则要进入第二个循环处理连乘或连除的问题; while(1) { //连乘或连除; switch(ca2) { //此处要对第三个变量进行赋值,并将a1与a2的乘除结果存入a1中; case '*':cin>>a2;a1=a1*a2;cin>>ca2;break; case '/':cin>>a2;a1=a1/a2;cin>>ca2; //还要对ca2的值进行更新,用于处理接下来运算; } if(ca2=='=')//若ca2的值变为等号; { switch(ca1) { //将之前乘除的结果a1与之前的a0进行加减运算,并将结果存入a0中; case '+': a0=a0+a1;break; case '-': a0=a0-a1;break; } ca1=ca2; break;//这也是跳出第二个循环的条件,且ca2为加号或减号时也要跳出循环; } if(ca2=='+'||ca2=='-') { switch(ca1) { case '+': a0=a0+a1;break; case '-': a0=a0-a1;break; } ca1=ca2;cin>>a1>>ca2; break; } } } } } return 0;}
注:
1、当ca2的值为加号或减号或等号时,就必须要出现ca2对ca1的赋值,不然没有办法处理接下来的运算或者跳出循环输出结果;
2、a0的作用是将加减的结果储存下来,而a1的作用是储存乘除的结果,考虑到运算顺序,因此最后的输出只能是a0;
运行结果:
用计算器验证一下结果:
结果正确!
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
运算
结果
循环
处理
乘除
等号
计算器
语句
输出
接下来
作用
减号
分支
加号
变量
符号
运算符
顺序
并将
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
互联网络科技
广州淘业互联网络科技
互联网科技股票
上海致骋互联网科技
融势互联网科技
郑州华宇互联网科技
多迪互联网科技有限公司
海南购全球互联网科技
汉立互联网科技有限公司联系电话
互联网科技博主是什么意思
顶级互联网科技成果有哪些
互联网科技教育视频
浙江互联网科技研学营
青岛科技大学互联网大赛研究生
工业互联网等科技实现智能化赋能
启辰互联网科技
互联网科技年终奖
东营紫格互联网科技
杭州融税互联网科技有限公司
南京欣网互联网络科技
广州为想互联网科技有限公司
互联网 的科技创新
互联网科技公司做什么
中正互联网科技招聘
互联网金融科技公司干啥的
受益于互联网科技的高速发展
互联网科技大奖都有哪些公司
广州富喜互联网络科技
互联网科技融合创新