C++ 帮助:如何停止 while 循环并计算总和?

C++ help : how do I stop a while loop and cout the sum?

我尝试构建一个简单的 C++ 程序。基于控制台的交互式计算器。 while 循环有问题。它在主体内部执行代码,但没有按照特定顺序在控制台上看起来不错。

我试图将 sum = sum + num 放在 while 之外,但是错了。我尝试了很多东西,但都不行。

int add , sum = 0 ;

while(add==1 && num!=0){

    cout << "Enter a number , when you are done please type in 0 : ";
    cin >> num;
    numbersEntered++;
    if (num!=0){
     //the problem kind of begins here
        sum = sum + num;
        cout<<" Your total is : " <<sum<<endl;

输出如下:

Enter a number , when you are done please type in 0 : 5
Your total is : 5
Enter a number , when you are done please type in 0 : 4
Your total is : 9.

我在这个例子中输入了 5 和 4。明确地说,我不期望这个输出。

假设您只想在最后打印总和,这应该可行。只需将其从 while 循环中取出即可。只有输入 0 才会停止。

#include <iostream>
using namespace std;

int main() {
    int add = 1, sum = 0, numbersEntered = 0, num = 1;
    while(add==1 && num!=0) {
        cout << "Enter a number, when you are done please type in 0: ";
        cin >> num;
        numbersEntered++;
        sum = sum + num;
    }
    cout << "Your total is: " << sum << endl;
}

可以删除检查 num 是否不为 0 的 if 条件,因为 sum + 0 与不添加到 sum 相同。