在C++中输入一个求和表达式,输出两个数的和,例如输入“36.5+470.8”,输出结果“36.5+470.8=507.3”;输入“360.5+470.8”时,输出结果“360.5+470.8=831.3”,要求输入数据是string类型声明的字符串。
时间: 2024-09-21 20:13:27 浏览: 44
c++LIANXI.rar_求两个数的和 C++11 程序代码
在C++中,你可以使用`std::istringstream`(istringstream)来解析字符串,并通过`std::stof`函数将字符串转换成浮点数。然后,你可以创建一个简单的程序,让用户输入一个求和表达式,接着计算并输出结果。以下是一个简单的示例:
```cpp
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::string input;
std::cout << "请输入一个求和表达式 (格式如 '36.5+470.8') : ";
std::getline(std::cin, input);
double num1 = 0.0, num2 = 0.0;
size_t pos = 0;
if ((pos = input.find("+")) != std::string::npos) {
std::istringstream iss(input.substr(0, pos));
if (!(iss >> num1)) {
std::cerr << "无效的数字格式!" << std::endl;
return 1;
}
input = input.substr(pos + 1);
if ((pos = input.find("+")) == std::string::npos) {
std::istringstream iss2(input);
if (!(iss2 >> num2)) {
std::cerr << "无法读取第二个数字!" << std::endl;
return 1;
}
num2 = std::stof(input);
} else {
std::cerr << "求和表达式格式错误!" << std::endl;
return 1;
}
} else {
std::cerr << "缺少加号!" << std::endl;
return 1;
}
double sum = num1 + num2;
std::cout << input << " = " << sum << std::endl;
return 0;
}
```
在这个程序中,我们首先获取用户输入的字符串,然后查找加号的位置。找到后,我们将字符串分割成两部分,并分别尝试转换成浮点数。最后,我们计算总和并输出结果。
阅读全文