【发布时间】:2017-10-11 15:48:49
【问题描述】:
我想创建一个程序,它读取一个包含两个数字和一个运算符的字符串并打印出结果。它在算术运算符上不断显示错误。例如,如何将两个字符串相加?
int main()
{
string number1;
string number2;
string operation;
string answer;
cout << "Enter numbers with respective operations";
cout << "number 1";
cin >> number1;
cout << "number2";
cin >> number2;
cout << "operation";
cin >> operation;
if (operation == "+")
{
answer = number1 + number2;
cout << "the sum is " << answer << endl;
}
else if (operation == "-")
{
answer = number1 - number2;
cout << "the difference is " << answer << endl;
}
else if (operation == "*")
{
answer = number1 * number2;
cout << "the product is " << answer << endl;
}
else if (operation == "/")
{
answer = number1 / number2;
cout << "the answer is " << answer << endl;
}
else
{
cout << "invalid input" << endl;
}
getchar();
return 0;
}
【问题讨论】:
-
您期望
string除以string的结果是什么?? -
有什么错误?
-
根据您的代码,数字没有理由成为字符串,为什么是?因为它们是字符串,如果你想用它们进行计算,你需要将它们转换为数字。
-
你必须先convert the string to a numeric type 然后对该值进行计算。
-
@xyious -- 您不能将字符串转换为数字;你可以转换它。强制转换是您在源代码中编写的内容,用于告诉编译器进行转换。
标签: c++