【发布时间】:2014-08-27 08:56:07
【问题描述】:
我想制作一个程序,它会一直读取数字,直到输入为空。 我的意思是:
12 <ENTER>
24 <ENTER>
<ENTER>
Sum of these numbers is: 36
到目前为止,我得到了这个:
#include<iostream>
using namespace std;
long double sum = 0, num = 0;
string junk;
int main(){
cout << "Witaj w programie do liczenia sredniej!\n\n";
while (true){
while (cin >> num){ //stops when you input a char
sum += num;
}
cin.clear();
getline(cin, junk);
cout << "\nSuma tych liczb to: " << sum << "\n\n";
}
return 0;
}
它是这样工作的:
12<ENTER>
24<ENTER>
q<ENTER>
Sum of these numbers is: 36
如果有什么不清楚的地方请告诉我,我会努力改进。 任何帮助表示赞赏:)
【问题讨论】:
-
看看这里:How to test whether stringstream operator>> has parsed a bad type and skip it。这也可能有助于解决您的问题。请注意,ENTER (
'\n') 实际上会被cin >> ...忽略,除非您更改标准分隔符。 -
我知道它被忽略了,我也知道你可以使用“noskipws”来更改它,但我认为如果没有输入任何内容,它可以识别出来
标签: c++