C++简易计算器的实现

article/2025/10/20 11:01:35

定义:

计算器是近代人发明的可以进行数字运算的机器。

也就是说,计算器不等同于算盘,前者能自行运算,后者只能简便计算过程,在古代,人们发明了许多计算工具,如算筹、算盘、计算尺等,随着社会的发展和科技的进步,计算工具也经历了由简单到复杂,由低级向高级的发展变化。进入20世纪后,人们发明了计算器。计算器的出现解决了很多比较复杂的计算问题。计算器的使用非常简单,它的运算规则是从左往右算,输入数据后可以一眨眼就得出结果

计算器不局限与四则运算,还可以进行如开方,对数,三角函数之类的复杂运算,更有甚者,可以进行\sum\prod\bigcap之类,或矩阵运算了。

今天,让我们来用C++编写简易计算器。

代码1:

#include<iostream>
using namespace std;int add(int num1, int num2)
{int sum = num1 + num2;return sum;
}
int m(int num1, int num2)
{int sum = num1 - num2;return sum;
}
int time(int num1, int num2)
{int sum = num1 * num2;return sum;
}
int chu(int num1, int num2)
{int sum = num1 / num2;return sum;
}
int mod(int num1, int num2)
{int sum = num1 % num2;return sum;
}int main()
{system("color 2E");float a, b,d;short c;printf("欢迎使用计算器,该计算器只支持整数输出\n");printf("加请按1,减请按2,乘请按3,除请按4,取余数请按5\n");u:cout << "请输入两个数" <<endl;cin >> a>> b;cout << "请输入运算类型:" << endl;cin >> c;switch (c){case 1:d = add(a, b);break;case 2:d = m(a, b);break;case 3:d = time(a, b);break;case 4:d = chu(a, b);break;case 5:d = mod(a, b);break;default:break;}if ((a + b) > 32677 && (a - b) < -32678)cout << "溢出警报\a" << endl;elsecout << d << endl;goto u;
}

这个计算器有诸多限制,它只能进行五种运算(还不能处理浮点),容易溢出,所以我做了改进。

代码2:

#include<cstdio>
#include<iostream>
using namespace std;int main()
{system("color 2E");int a, b;char ch;
y:cout << "请输入算式:" << endl;cin>>a>>ch>>b;if (ch != '+' && ch != '-' && ch != '*' && ch != '/' && ch != '%'){printf("Error\n");}else{cout<< a<<" " << ch <<" "<<b << " = ";}switch (ch){case '+':{cout << a + b << endl;break;}case '-':{cout  << a - b << endl;break;}case '*': {cout << a * b << endl;break;}case '/': {cout << a / b << endl;break;}case '%':{cout << a % b << endl;break; }}goto y;
}

好用一点,可以输出算式了。

最后一点,无论什么计算器,如果要进行大于结果2^{32}的运算或超过15位有效数字的浮点运算,需要高精度算法,详见:

https://blog.csdn.net/u011386173/article/details/109912035?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166477380516782395356593%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166477380516782395356593&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-109912035-null-null.142^v51^control,201^v3^control_2&utm_term=%E9%AB%98%E7%B2%BE%E5%BA%A6%E8%AE%A1%E7%AE%97&spm=1018.2226.3001.4187

谢谢。


http://chatgpt.dhexx.cn/article/TA5mLNfx.shtml

相关文章

制作简易计算器

简易计算器 效果展示图项目要求内容分析涉及函数 效果展示图 项目要求 制作简易计算器&#xff0c;使其能实现简单的加&#xff0c;减&#xff0c;乘&#xff0c;除运算。 1.在两个文本框中分别输入两个数字 2.输入完成后&#xff0c;再次点击加&#xff0c;减&#xff0c;乘&…

C# 制作简易计算器

前言&#xff1a;环境是vs 2022 1、打开vs2022后&#xff0c;右边导航栏选择创建新项目。 2、选择Windows窗体应用&#xff08;.net Framework&#xff09; 3、进入配置新项目界面&#xff08;项目名称和位置可自行修改&#xff09;点击创建 4、窗体From1即为我们要要编辑的位…

至简设计系列_简易计算器

–作者&#xff1a;小黑同学 本文为明德扬原创及录用文章&#xff0c;转载请注明出处&#xff01; 1.1 总体设计 1.1.1 概述 计算器是近代人发明的可以进行数字运算的机器。现代的电子计算器能进行数学运算的手持电子机器&#xff0c;拥有集成电路芯片&#xff0c;但结构比电…

如何制作一个简易的计算器

今天&#xff0c;我们来学习如何完成一个简易计算器的功能吧&#xff01; 一.布局 我们可以在HTML中使用CSS完成计算器的布局。接下来&#xff0c;我们便先来看看我们所要实现的效吧&#xff01; 上图的计算器中&#xff0c;我们可以通过以下几个步骤完成对计算器的简单布局…

简易版计算器

这次我们来写一个简单的计算器案例 代码部分 HTML部分 首先设置一个基本样式&#xff0c;把我们需要的“计算”按钮&#xff0c;“-*/”四个计算符合&#xff0c;三个文本框准备好(两个用来输入数字进行计算&#xff0c;一个用来接收计算出来的结果)&#xff0c;再为三个文…

java拦截器怎么实现

Java拦截器是一种对象拦截器&#xff0c;它可以拦截任何的类、方法和字段。拦截器还可以用于检查类是否已经加载以及对字段的访问权限是否符合规范。下面就让我们来了解一下 java拦截器怎么实现吧。 在 Java中&#xff0c;可以通过重写方法和代码块来实现拦截功能&#xff0c;但…

Java中的过滤器和拦截器

Java中的过滤器和拦截器 一.应用场景 拦截器应用场景 拦截器本质上是面向切面编程&#xff08;AOP&#xff09;&#xff0c;符合横切关注点的功能都可以放在拦截器中来实现&#xff0c;主要的应用场景包括&#xff1a; 登录验证&#xff0c;判断用户是否登录。权限验证&…

拦截器(HandlerInterceptor)

目录 1 什么是拦截器 2 HandlerInterceptor和WebMvcConfigurer 2.1 HandlerInterceptor 2.2 WebMvcConfigurer 3 拦截器实现流程 1 什么是拦截器 拦截器是相对于Spring中来说的&#xff0c;它和过滤器不一样&#xff0c;过滤器的范围更广一些是相对于Tomcat容器来说的。拦…

用 Java 实现拦截器 Interceptor 的拦截功能

Java 里的拦截器是动态拦截 action 调用的对象&#xff0c;它提供了一种机制可以使开发者可以定义在一个 action 执行的前后执行的代码&#xff0c;也可以在一个 action 执行前阻止其执行&#xff0c;同时也提供了一种可以提取 action 中可重用部分的方式。在 AOP&#xff08;A…

java-拦截器

(1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后&#xff0c;会去判断请求的是静态资源还是动态资源 (3)如果是静态资源&#xff0c;会直接到Tomcat的项目部署目录下去直接访问 (4)如果是动态资源&#xff0c;就需要交给项目的后台代码进行处理…

JAVA中的拦截器、过滤器

JAVA变成拦截器、过滤器 一、拦截器1、简介说明2、源码及方法说明3、拦截器自定义应用 二、过滤器1、简介说明2、源码及方法说明3、过滤器的自定义应用 三、Springboot中的WebMvcConfigurer1、简介2、主要方法3、添加拦截器 四、区别1、原理2、触发3、其他 一、拦截器 1、简介…

Java开发学习----拦截器(Interceptor)详细解析

一、拦截器概念 讲解拦截器的概念之前&#xff0c;我们先看一张图: (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后&#xff0c;会去判断请求的是静态资源还是动态资源 (3)如果是静态资源&#xff0c;会直接到Tomcat的项目部署目录下去直接访…

JAVA三大器之拦截器

1&#xff0c;拦截器的概念 java里的拦截器是动态拦截Action调用的对象&#xff0c;它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码&#xff0c;也可以在一个Action 执行前阻止其执行&#xff0c;同时也提供了一种可以提取Action中可重用部分代码的方式。…

java之拦截器

java里的拦截器是动态 拦截action的web请求&#xff0c;而过滤器能够进行系统级别的过滤&#xff0c;即能够过滤所有的web请求。从这可以看出拦截器是有一定的局限性的。拦截器是基于jdk实现的动态代理&#xff0c;拦截器是动态拦截action调用的对象&#xff0c; 拦截器可以使得…

Java三大器之拦截器(Interceptor)的实现原理及代码示例

前言&#xff1a;前面2篇博客&#xff0c;我们分析了Java中过滤器和监听器的实现原理&#xff0c;今天我们来看看拦截器。 1&#xff0c;拦截器的概念 java里的拦截器是动态拦截Action调用的对象&#xff0c;它提供了一种机制可以使开发者在一个Action执行的前后执行一段代…

Java 拦截器

一、引言 既然要用拦截器&#xff0c;首先先得简单了解一下什么是拦截器&#xff1a; 概念&#xff1a;java里的拦截器是动态拦截Action调用的对象&#xff0c;它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码&#xff0c;也可以在一个Action执行前阻止其执行…

VirtualAPK:滴滴 Android 插件化的实践之路

作者简介&#xff1a; 任玉刚&#xff0c;滴滴出行 Android 技术专家&#xff0c;《Android 开发艺术探索》作者&#xff0c;插件化框架 dynamic-load-apk 的发起者&#xff0c;CSDN 移动开发博客专家&#xff0c;曾当选 CSDN 2014、2015年度十大博客之星。热爱技术&#xff0c…

Unity刚体

1、Dynamic&#xff1a;动态类型 受重力和力的影响移动和旋转 Material&#xff1a; 物理材质&#xff0c;在刚体上设置了物理材质&#xff0c;如果子物体有碰撞器但是没有设置材质则会通用刚体的物理材质 如果不设置&#xff0c;将使用在Physics 2D窗口中设置的默认材质(Physi…

android view 的测量过程

参考任玉刚主席的《android开发艺术探索》所写。

2017年终总结,开始写博客的第一年

结束校园生活&#xff0c;开始工作 今年是我开始工作的第一年&#xff0c;前半个学期实习阶段&#xff0c;开发了三个上线的应用&#xff0c;之前在学校的时候&#xff0c;做过不少练手的项目&#xff0c;有时心血来潮&#xff0c;还做了一些自己认为有趣的项目&#xff0c;但是…