C++怎样实现简单的计算器功能
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,C++怎样实现简单的计算器功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。限制:1、只能使用分支语句与循环语句;2、不
千家信息网最后更新 2024年11月17日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安全错误
数据库的锁怎样保障安全
软件开发绩效考核谁来评定
印度网络技术怎么样
数据库中spool
网络安全领航新地标
4s店软件开发需求
网络安全硬笔书法图
事业单位北京冬奥会网络安全总结
局域网网络安全方案的设计
物联网用什么数据库
简述软件开发的基本流程图
清理信访重点人员数据库
互联网科技创新企业
长飞智慧网络技术有限公司吴玉
word添加数据库工具栏
网络安全和保密检查情况汇总
潍坊管理系统软件开发
宝山区市场软件开发不二之选
查询域名的邮件服务器
长宁区营销软件开发哪家好
十五项世界互联网领先科技成果
软件开发求职中会被问到的问题
2021年网络安全知识答题
青少年该怎样做到网络安全
apex手游哪个服务器最好打
昆山做软件开发好不好
做数据库处理
lol服务器在深圳
关于软件开发的职业分析
29岁学软件开发完吗
软件开发公司招聘计划