2

在这里,我尝试了“C++ 入门”中的一个示例,但是,它卡在了 while 循环中。这是我的代码:

#include<iostream>
int main()
{
    int sum =0 , value =0 ;    
    while (std::cin >> value)
    {
        sum += value;
    }

    std::cout << "sum is: " << sum << std::endl;
    //system("pause");
    return 0;
}

请告诉我这是怎么回事,我会非常感谢 Cheers Eason.li

4

4 回答 4

9

输入下一个值并按 Enter 键后,您应该按组合 Ctrl+z(在 Windows 中)或 Ctrl + d(在 Unix 中)

于 2013-11-13T22:10:50.810 回答
1

只需在您的 while 子句中设置退出条件

std::cin >> value;
while (value != 0)
{
    sum += value;
    std::cin >> value;
}

或者,或者,

do
{
    sum += value;
    std::cin >> value;
}while(value != 0);
于 2013-11-13T22:11:18.493 回答
1

您需要在while循环中有一个条件

while (value !=0)
于 2013-11-13T22:19:45.813 回答
0
#include <iostream>
#include <string>

using namespace std;
int main()
{
    bool input=true;

    int sum =0 , value =0 ;    
    while (input)
    {
        string choice;
        std::cout << "Enter Value to be added to sum"<<std::endl;
        std::cin>>value;  
        sum += value;

        std::cout<<"add another value?"<<std::endl;
        std::cout<<"Enter yes or no"<<std::endl;
        std::cin>>choice;
        if(choice=="yes")
        input=true;

        if(choice=="no")
        break;

    }

    std::cout << "sum is: " << sum << std::endl;
    system("pause");
    return 0;
}
于 2013-11-13T23:58:02.323 回答