2017-10-20 15 views
-1

それはので、私はこのコードを試してみましたそれを行うには、初心者として、私には本当に複雑だ:C++でforループまたはforループを使用してユーザーが入力した数値を追加するにはどうすればよいですか?

int x,sum=0; 

while (x) 
    cin >> x; 
    sum+=x; 
    cout << sum ; 

は、私は、ユーザーがプログラムがによって入力されたこれらの数字の合計を印刷する必要があり、「0」を入力したときにプログラムをできるようにしたいですユーザー。それを行うには

+1

あなたのインデントがあなたを混乱させています。 'while'は、中括弧がない場合にのみ次のステートメントを実行します。 –

+6

インデントはコードの実行に影響を与えません。あなたのループが書かれているので** ** cin 'x;'のみがループ内で実行されます。ランダムにコードを作成するのではなく、[良いC++の本](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)から学ぶことを検討してください。 –

+0

しばらくの間使ってください。 –

答えて

1

一つの方法はここにある:

#include <iostream> 

int main() 
{ 
    int x; 
    int sum = 0; 

    std::cin >> x; 

    while(x) 
    { 
     sum += x; 
     std::cin >> x; 
    } 

    std::cout << "Sum: " << sum << std::endl; 

    return 0; 
} 

あなたのwhileループ内の文の周り{}秒が欠落している、これだけcin >> xが実行されます。

+0

うまく働いた、 –

+0

私はこの解決策にいくつかの問題があります。たとえば、ストリームが失敗した場合、無限ループが発生します。 –

+0

@CaptainGiraffeもちろん、それは本当です。しかし、OPの作者はプログラミングで非常に新しいようで、正しい構文も知らないので、できるだけシンプルにしたいと思っていました。 –

関連する問題