欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

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

时间:2023-01-07 09:29:00|栏目: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;
}

上一篇:VSCode如何使用最新的C++20(推荐)

栏    目:C代码

下一篇:没有了

本文标题:C++实现加减乘除计算器

本文地址:http://www.codeinn.net/misctech/223188.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有