cpp上的简单求和程序

Simple summation program on cpp

我正在尝试让一个 C++ 程序对用户输入的元素求和:

#include <iostream>

int main(){
        int sum = 0, value = 0;
        // read until end-of-file, calculating a running total of all values read
        while (std::cin >> value){
                sum += value;
        }
        std::cout << "Sum is: " << sum << std::endl;
        return 0;
}

我在 c++ primer 上阅读了这个示例,但是当我编译这个程序并 运行 它时,提示一直在等待输入。为什么它没有输出任何东西?

请在值上设置 limit 并在 while 循环中检查它。

让我添加一些代码来说明...

#include <iostream>

int main(){
        int sum = 0, value = 0, limit=5, entries=0;
        std::cout << "Enter "<< limit << " digits:"; 
        // read until end-of-file, calculating a running total of all values read
        while ((std::cin >> value) && (entries < limit) ){
                sum += value;
                entries++;
        }
        std::cout << "Sum is: " << sum << std::endl;
        return 0;
}

另一种选择是采用用户将要提供的条目数;

#include <iostream>

int main(){
        int sum = 0, value = 0, limit=0, entries=0;
        std::cout << "Enter limit:";
        std::cin >> limit;
        // read until end-of-file, calculating a running total of all values read
        while ((std::cin >> value) && (entries < limit) ){
                sum += value;
                entries++;
        }
        std::cout << "Sum is: " << sum << std::endl;
        return 0;
}

std::cin 一直等待输入,直到遇到 EOF(文件结束)。当你在终端(Linux)中 运行 时,你只需要按 Ctrl + D 来生成 EOF。如果您是 Windows 用户,请使用 Ctrl + Z.