do while loop / c ++中的boolean表达式

时间:2016-02-11 01:24:08

标签: c++ visual-c++

我有一个程序要写:编写一个程序,用户输入数字直到他输入'e'或'E'。用户输入的所有数字总和并在控制台上写入。 到目前为止,我写了这些,但我不知道如何在'e'或'E'进入时打破循环!?所以,如果有人可以帮我这个。

#include<iostream>
using namespace std;
void main()
{
    int sum=0, number=0;

    do
    {
        cout << "Enter a number: \n";
        cin >> number;
        sum+=number;

    } while (don't know what to type here);

    cout << "Sum =  " << sum << endl;

}

2 个答案:

答案 0 :(得分:1)

请试试这段代码。

#include<iostream>
using namespace std;
int main()
{
    int sum = 0, number = 0;
    while (true)
    {
        cout << "Enter a number: \n";
        if (cin >> number) sum += number;
        else break;
    }
    cin.clear(); //reset the state of cin
    char ch;
    cin >> ch;
    if (!(ch == 'e' || ch == 'E'))
    {
        cout << "Invalid input!" << endl;
        system("pause");
        return 0;
    }
    cout << "Sum =  " << sum << endl;
}

答案 1 :(得分:0)

你应该让你的程序接受字符串作为输入,然后尝试将该字符串转换为整数。

YTPlayerView