在C++中,想要按照a*b=的格式输入算式要怎么写
时间: 2024-09-13 17:18:15 浏览: 43
在C++中,如果你想让用户按照" a * b = "的格式输入算式,你可以使用`cin`从标准输入获取用户输入,并通过字符串处理或正则表达式解析来分离操作数和运算符。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string input;
double a, b;
char operator_char;
// 获取用户输入
std::cout << "请输入一个算式 (格式: a * b =): ";
getline(std::cin, input); // 使用getline获取整个行,包括空格
// 分割输入
size_t eq_pos = input.find(" = ");
if (eq_pos == std::string::npos) {
std::cerr << "错误的输入格式!\n";
return 1;
}
// 提取操作数和运算符
a = std::stod(input.substr(0, eq_pos)); // 转换为double类型
operator_char = input[eq_pos + 2]; // ' = ' 后的第一个字符作为运算符
b = std::stod(input.substr(eq_pos + 4)); // 提取第二个操作数
// 根据运算符计算结果并输出
double result;
switch (operator_char) {
case '*':
result = a * b;
break;
default:
std::cerr << "未知的运算符!\n";
return 1;
}
std::cout << "结果是: " << result << "\n";
return 0;
}
```
阅读全文