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

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; }

推荐阅读