我目前正在研究计算器,需要做一些我们没有被教过的事情。在讨论它是什么之前,我将发布以下代码:
解决了
int num1;
int num2;
char choice;
int answer;
char choice2;
bool MoveOn;
bool ActiveAnswer;
// get first number
cout << "Enter your first number" << endl;
cin >> num1;
// get an operator
// is it valid? if not, get another operator
while (MoveOn = true)
{
cout << "What would you like to do? +, -, *, or / ?" << endl;
//cout << "Press C to clear and start over or X to close the program" << endl;
cin >> choice;
if (choice == '+')
{
cout << "Enter your second number" << endl;
cin >> num2;
answer = num1 + num2;
cout << "The answer is: " << answer << endl;
MoveOn = true;
num1 = answer;
cout << "Enter your second number" << endl;
cin >> num2;
answer = num1 + num2;
cout << "The answer is: " << answer << endl;
}
}
我需要做的是得到第一个数字,操作员,打印出答案,向后移动并再次要求操作员,使用以前的答案作为第一个数字,获得第二个数字,再次打印答案。所以我需要的大部分工作。我花了一段时间才弄清楚如何让它再次使用以前的答案作为第一个数字,但随后又出现了另一个问题。在打印出第一个答案后,它会直接再次询问第二个数字,而不是让用户选择另一个操作员。我尝试的是有一个 continue 语句,但它会继续要求操作员而不是让用户做第二个问题。我还尝试做两个单独的 if 语句,而不仅仅是你在上面看到的那个,但这也不起作用。我' 我不希望有人为我解决这个问题。我想了解发生了什么并知道它是如何工作的。如果有人能帮我一把,我将不胜感激。