C++ 继续读取数字,直到输入为空
我想做一个程序,一直读取数字,直到有一个空的输入。 我的意思是:C++ 继续读取数字,直到输入为空,c++,C++,我想做一个程序,一直读取数字,直到有一个空的输入。 我的意思是: 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 << "
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
如果有不清楚的地方,请告诉我,我会努力改进。
感谢您的帮助:在您的代码中,我看不到对换行符的检查。看看我的代码,它似乎工作得很好。也许这就是你正在寻找的解决方案
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int sum = 0;
string line;
while (getline(cin, line))
{
stringstream ss(line);
int tmp;
if (ss >> tmp)
{
sum += tmp;
}
else
{
break;
}
}
cout << "\nSuma tych liczb to: " << sum << "\n\n";
return 0;
}
请看这里:。这可能对你的问题也有帮助。请注意,输入“\n”实际上被cin>>忽略,除非您更改标准定界符。我知道它被忽略,我也知道您可以使用noskipws更改它,但我认为如果没有输入任何内容,则可以识别某些内容,这正是我要查找的!非常感谢,达科恩。我不能投赞成票-需要15个声望: