千家信息网

C++怎样实现简单的计算器功能

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,C++怎样实现简单的计算器功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。限制:1、只能使用分支语句与循环语句;2、不
千家信息网最后更新 2025年11月13日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安全错误 数据库的锁怎样保障安全 网络安全现状怎样 机械行业转行软件开发知乎 金蝶提示无法创建服务器组件 网络安全 教学分析报告 十一所网络安全 服务器能装家用显卡吗 国泰安数据库总经理名称 王者荣耀转移服务器会有什么选项 计算机技术中数据库怎么样 原创网络安全周报 注销抖音总是服务器错误 数据库中无法打开物理文件 二维码能扫描出数据库 哈尔滨软件开发名单 如何按照指定参数查询服务器数据 网络安全观后感一百字 郑州安卓软件开发公司电话 vpn名称和服务器地址 sql数据库设置单个人用户 生态家网络技术有限公司 金蝶服务器系统管理在哪打开 计算机网络技术本科有吗 软件开发数据结构吗 赣州木吒互联网科技有限公司 数据库的数据模型包括哪三个要素 管家婆数据库文件丢失 服务器和存储器运维区别 银行学习网络安全简报 dnf修改数据库密码是什么 宁波正规软件开发哪个好
0