C++实现加减乘除计算器

本文实例为大家分享了C++实现加减乘除计算器的具体代码,供大家参考,具体内容如下

#include <iostream>
#include <conio.h>
#include <string>
void main()
{
    char str[0xFF];
    do
    {
        system("cls");
        float a{};
        float b{};
        int count = 1;
        int isOperating = -1;
        bool isFirst = true;
        std::string text{ "按任意键重置,继续计算\n" };
        std::cout << "------计算机------\n";
        std::cout << "请输入加减乘除:";
        std::cin >> str;
        for (int i = strlen(str) - 1; i >= 0; i--)
        {
            float* num = isFirst ? &b : &a;
            switch (str[i])
            {
            case '*':
                isOperating = 0;
                break;
            case '/':
                isOperating = 1;
                break;
            case '+':
                isOperating = 2;
                break;
            case '-':
                isOperating = 3;
                break;
            }
            if (!isFirst&&!isdigit(str[i])&& str[i]<=127&& str[i]>=0)
            {
                isOperating = 4;
                text = "暂只支持正整数加减乘除,不能输入中文,其他符号或运算符\n按任意键重新输入\n";
                break;
            }
            if (isOperating != -1 && count != 1 && isFirst)
            {
                isFirst = false;
                count = 1;
                if (i == 0 || i == strlen(str) - 1)
                {
                    isOperating = 4;
                    break;
                }
                continue;
            }
            *num += ((int)str[i] - 48) * count;
            count *= 10;
        }
        switch (isOperating)
        {
        case 0:
            std::cout << "结果为:" << a * b << std::endl;
            break;
        case 1:
            if (a == 0)
                text = "除数不能为0\n按任意键重置,继续计算\n";
            else
                std::cout << "结果为:" << a / b << std::endl;
            break;
        case 2:
            std::cout << "结果为:" << a + b << std::endl;
            break;
        case 3:
            std::cout << "结果为:" << a - b << std::endl;
            break;
        default:
            text = text == "按任意键重置,继续计算\n" ? "错误格式,按任意键重新输入\n" : text;
        }
        std::cout << text;
        _getch();
    } while (true);
}

用string接受做太简单了,用char数组比较好玩

#include<iostream>
using namespace std;

int main()
{
   double a,b;
   char op;
   cout << "enter a" << endl;
   cin >> a;
   cout << "enter operator" << endl;
   cin >> op;
   cout << "enter b" << endl;
   cin >> b;
   double result;
   if (op=='+')
   {
      result = a + b;
   }
   else if (op=='-')
   {
      result = a-b;
   }
   else if (op=='*')
   {
      result = a*b;
   }
   else if (op=='/'){
      if (b==0){
         cout << "cannot devided by 0\n";
         return 0;

      }
      else{
         result =a/b;
      }
   }
   else
   {
      cout << "invalid operator\n";
      return 0;
   }

   cout << "result is " << result << endl;
   return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C/C++经典实例之模拟计算器示例代码

    前言 本文主要给大家介绍了关于利用C/C++如何实现模拟计算器的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. Problem Description 简单计算器模拟:输入两个整数和一个运算符,输出运算结果. Input 第一行输入两个整数,用空格分开: 第二行输入一个运算符(+.-.*./). 所有运算均为整数运算,保证除数不包含0. Output 输出对两个数运算后的结果. Example Input 30 50 * Example Output import j

  • 基于C++实现简单日期计算器

    基于C++编写的简单的日期计算器,供大家参考,具体内容如下 以下代码是在VS2013下编译运行的: 下面展示我的测试结果: 标题 代码如下: #include<iostream> using namespace std; #include"vld.h"//这个是检测虚拟内存是否泄露,我在这里安装了vld,所以直接用,包含头文件就好了 class Date { public: //构造函数 Date(int year=2018, int month=8, int day=16

  • 简单实现C++复数计算器

    本文实例为大家分享了简单实现C++复数计算器的具体代码,供大家参考,具体内容如下 1.有关计算器的功能  A,实现多个复数(包括实数)的加减乘除,大小比较,   B.实现十进制实数的进制转换,可以转换任意进制 2.有关设计的原理  A.复数计算的部分,采用运算符的重载,进行复数的加减乘除以及大小比较  对于输入输出,(>>和<<),加减乘除运算进行重载.  输入的重载,实现a+bi形式的复数的输入.  输出的重载,实现实数的输出(实现特殊的只输出实部虚部之类的).  加减乘除的重载

  • C/C++实现日期计算器的示例代码

    问题介绍: 今天突然看到一个问题看起来蛮有趣的,跟大家分享一下. 给定任意日期对该日期进行加减天数,最后得出加减后出现的日期.以及给两个日期你可以得出他们两个之间相隔多少天.(需要考虑闰年,每个月天数不同,我们需要写一个我们直接可以使用的日期加减器)因为时间比较仓促,我也没有写界面,只有其中几个主要的函数的架构思想以及简单的调试就发出来了. 代码实现: #include<iostream> #include<Windows.h> #include<assert.h> u

  • c++编写简单的计算器程序

    首先来看下本人的开发环境 系统:win7 电脑:dell 运行环境:vs2015 语言:c++ 简单计算器代码 //四则运算 #include "stdafx.h" #include<iostream> #include<stdio.h> using namespace std; void add() { printf("输入要计算的加数(例如a b)\n"); int adda=0, addb=0,addc=0; cin >>

  • C++实现简单计算器

    本文实例为大家分享了C++实现简单计算器的具体代码,供大家参考,具体内容如下 工具 stack map 步骤 初始化 读取字符串 去空格 负号处理 判断为空 检查格式 计算 示例 代码 #include <iostream> #include <string> #include <stdio.h> #include <stack> #include <map> #include <math.h> #include <stdlib

  • C++实现分数计算器

    分数计算器项目设计,供大家参考,具体内容如下 一.问题描述及功能要求 1.分数计算器程序的每种功能都可以用菜单选项列出,用户可以根据需要选择相应的菜单项,从而执行不同的子程序以完成相应的功能 2.增加运算符重载功能,使所设计的分数计算器可以进行四则运算&幂运算&逻辑运算.四则运算&幂运算可以用菜单选项列出,用户可以根据需要选择相应的运算. 3.程序具有判断功能,当有非法的输入时(如分母等于零等),能给出提示信息并退出运算 4.可将分数化为十进制小数和带分数 5.设计逻辑功能的函数使

  • C++实现四则混合运算计算器

    本文实例为大家分享了C++实现四则混合运算的计算器,供大家参考,具体内容如下 计算器是带括号的四则运算实际上利用的是栈后进先出的原则 转换思想: #define _CRT_SECURE_NO_WARNINGS 1 #include"stdio.h" #include"stdlib.h" #include"string.h" #define maxsize 1024 typedef struct { float data[maxsize]; int

  • C++有限状态机实现计算器小程序

    本文介绍利用有限状态机原理开发计算器小程序的过程. 实现的功能 支持整数.小数输入 支持+ - * / 四则运算 CE 清除当前操作数 C 清除所有.回到初始状态 回显操作数和结果 HSM状态图 计算器可以分为七种状态:Start.Operand_1.Negate_1.Operator.Operand_2.Negate_2.Error.其中Start.Operand_1.Operand_1状态又分了几种子状态. 下面简要的介绍下状态状态转换的过程: 启动软件,进入Start状态 当用户点击1-9

  • 用php简单实现加减乘除计算器

    用php实现加减乘除计算器.代码很简单哦! 复制代码 代码如下: <?php header("content-type:text/html;charset=utf-8"); session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitiona

  • C#实现简单加减乘除计算器

    第一次学习C#,做了个简单的加减乘除计算器,只能实现两个因数的运算. 主要是练习下C#编程,和以前用过的VB差不多.与VB6不同的是,C#代码区分大小写. Windows窗口程序主要也是由一些控件组成,响应响应的事件(event),实现具体的功能. 1.效果图如下所示 2.代码如下所示 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using Syst

  • java实现简单的加减乘除计算器

    本文实例为大家分享了java实现加减乘除计算器的具体代码,供大家参考,具体内容如下 代码 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.FlowLayout; import javax.swing.*; @SuppressWarnings("unused") class Sumjp { JOptionPane jp = new JOptionPane(); Sumjp(

  • C++实现加减乘除计算器

    本文实例为大家分享了C++实现加减乘除计算器的具体代码,供大家参考,具体内容如下 #include <iostream> #include <conio.h> #include <string> void main() {     char str[0xFF];     do     {         system("cls");         float a{};         float b{};         int count = 1

  • javascript实现简易计算器

    前言 hello,大家好,学习一段时间了,学习了框架和后台的内容,为了防止前端的js和jq的熟练度不够,忘记很多算法和基础用法,会陆陆续续更新一些小的功能效果code,用于记录和积累,不足之处很多,封装性和代码冗余暂且不严格要求,尽力完善,保持更新.. 简易加减乘除计算器,利用表单的value值取值,用原生js实现.可直接复制到编辑器,打开即可运行. <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q

  • C# WinForm程序设计简单计算器

    一个简单的计算器的例子,在这个小程序中我们需要用到的组件有: Button:点击计算 TextBox:输出要运算的数 RadioButton:选择运算类型 GroupBox:绑定RadioButton 首先我们在界面上拖以上的控件,得到如下界面: 这时候监听计算按钮的点击事件: private void button1_Click(object sender, EventArgs e) { double op1, op2, result; if (textBox1.Text == ""

  • C#开发简易winform计算器程序

    临近年关,今日在学习的过程中感觉甚是无聊,便想用C#来开发一个简易的计算器程序,这里记录下今日下午的实现过程,同时也记录下自己的第一遍博客. 一.需求 首先我们先来决定我们的计算器要实现什么功能 功能需求:1.能够实现加.减.乘.除.求余等两个操作数的运算,以及开方.平方单个操作数的运算 2.能够清除错误的输入,能够实现清零操作 显示需求:能够显示操作数与运算内容,显示结果 二.设计界面 1.在明白我们的功能需求后,我们来设计界面,界面主要包括三个部分,用于显示的两个textBox,以及数字键B

  • C#基于简单工厂模式实现的计算器功能示例

    本文实例讲述了C#基于简单工厂模式实现的计算器功能.分享给大家供大家参考,具体如下: 子类拥有父类除私有之外的所有属性字段和方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 工厂方法实现计算器 { /// <summary> /// 计算器类(抽象类,由子类重写) /// </sum

  • Vue实现简易计算器

    本文实例为大家分享了Vue实现简易计算器的具体代码,供大家参考,具体内容如下 <html> <body> <div id="demo"> <h2>简单加减乘除计算器</h2> <p>请输入第一个数:<input type="text" v-model="firNum"></p> <p>请输入第二个数:<input type="

  • C#实现计算器功能

    本文实例为大家分享了C#实现计算器功能的具体代码,供大家参考,具体内容如下 在刚刚接触c#的时候,就想做一个简单加减乘除计算器.这就是目标,可惜一直没有动手去做,今天特意把它简单做了.很简单,很简单,了却一个心愿了.代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; u

随机推荐