【发布时间】:2019-07-03 18:43:11
【问题描述】:
我需要设置一个简单的计算器来输入和提供输出。我知道一旦我保存了变量,我就可以使用条件使其工作,但我无法以我需要的方式保存变量。
#include <iostream>
using namespace std;
int main(){
int n1;
int n2;
char opr;
cout<<"Enter an expression to evaluate: ";
cin>> n1>> opr >>n2; //my input is <1 + 2>
cout<<n1<<endl;
cout<<opr<<endl;
cout<<n2<<endl;
return 0;
}
我希望输出是: 1 + 2
但结果如下: 1 0 6422368
【问题讨论】:
-
您的
cin需要int,但您输入了<。它无法提取任何内容,并且您的所有变量都被统一化(它们可以具有任何随机值)。 -
您的输入真的是
<1 + 2>还是1 + 2?有很大的不同。 -
我会一直这么说。用户不会在控制台程序中输入整数。他们键入要被解释为整数的字符和字符串。假设用户将键入任何内容并相应地对其进行解析并检查错误。
-
@selbie 很好的建议,但超出了大多数新手。
-
使用调试器查看发生了什么。您可能会看到
opr中有一个空格。