C++查找用于构建单行计算器



假设输入是1+或-或*或/如何在一行代码中识别不同的运算符。如果输入是2+3,如果有2*3、2/3等多行输入,我如何识别2+3。我不能用索引数字,以防数字太大基本上,我正在尝试创建一个单行计算器,我如何在cpp中识别这些运算符?

您提到单行代码,我将其理解为单行输入。阅读单行文本涉及std::stringstd::getline:

std::string line_of_code;
std::getline(std::cin, line_of_code);

下一步是解析代码行

int number1;
int number2;
char op;
std::istringstream input_stream(line_of_code);
// Read in first number;
input_stream >> number1;
// Read in operator
input_stream >> op;
// Read in second number;
input_stream >> number2;
// Decide how to process the operator:
int answer;
switch (op)
{
case '*': answer = number1 * number2; break;
case '/': answer = number1 / number2; break;
case '+': answer = number1 + number2; break;
case '-': answer = number1 - number1; break;
}
std::cout << "Result: " << answer << "n";

注意:以上代码不考虑运算符优先级、括号,也不考虑每行代码的多个项

最新更新