我有一个有4个变量的方程,我提示用户输入这些变量中的每一个,然后程序根据输入的变量决定它需要解决哪些变量。例如,给定变量a和b,我需要解决b和c。我正试图想出一种方法来确定哪些变量已被输入,哪些变量没有被输入。这是我到目前为止已经在想:如何测试方程式的用户输入?
int a,b,c,d;
char unknown;
cout<<"****This program decides which variables to solve for****\n;
cout<<"Please enter the known variables below, if a variable is unknown,
please enter a'?'\n"
cout<< "please enter variable a\n";
cin>>a;
cout<< "please enter variable b\n";
cin>>b;
etc....
if (a =='?'){
check b,c,d}
if (b =='?'){
check c,d}
,然后运行通过的if语句,以确定哪些变量是存在的,哪些不是这些变量。然而,必须有一种更简单的方法,如果这些陈述有可能是荒谬的话。如果您有任何建议,非常感谢。谢谢!
这里真正的问题不在于I/O,这是你如何代表变量和存储方程。你有没有为这一方面编写任何代码? – Potatoswatter 2010-10-08 00:14:06
好吧,它主要基于哪些变量是已知的,哪些是未知的。等式必须根据哪些变量已知来重新排列。所以每个已知变量都会有不同的情况。 (switch operator?) – Ryan 2010-10-08 00:18:24
问题也出在IO上,因为你不能在'int'变量上使用'operator >>'并希望在那里得到一个''?'',这是一个char。你应该用'getline'获取整行,并用'istringstream'分开处理。 – 2010-10-08 00:41:01