C++;到达输入端后结束do while循环 我试图编写一个程序,用C++将输入转换成二进制形式。然而,我对继续转换每个额外输入的do-while循环部分有点问题。do while循环的条件被弄乱,因此输出成为无限循环 do{ cin>>number; if (number<0) cout<< number<< " (base 10) is not a positive integer"<<endl; else if (number==0) cout<< number<< " (base 10) = 0 (base 2) "; else { binary= binaryConverter(number); cout<< number << " (base 10) ="; cout<< binary << " (base 2)"; } cout<< endl; }while(????); do{ cin>>数量; 若(数字
这将循环直到接收到终止信号(如CTRL-C),则流终止C++;到达输入端后结束do while循环 我试图编写一个程序,用C++将输入转换成二进制形式。然而,我对继续转换每个额外输入的do-while循环部分有点问题。do while循环的条件被弄乱,因此输出成为无限循环 do{ cin>>number; if (number<0) cout<< number<< " (base 10) is not a positive integer"<<endl; else if (number==0) cout<< number<< " (base 10) = 0 (base 2) "; else { binary= binaryConverter(number); cout<< number << " (base 10) ="; cout<< binary << " (base 2)"; } cout<< endl; }while(????); do{ cin>>数量; 若(数字,c++,loops,do-while,C++,Loops,Do While,这将循环直到接收到终止信号(如CTRL-C),则流终止 while(cin >> number)
while(cin >> number)
<典型的C++输入循环如下:
ItemType item;
while ( input_stream >> item ) {
// Do something with item, for example:
// std::cout << item; or,
// container.push_back(item); or,
// sum += item; or whatever.
}
另外,我修改了你的代码,使之符合另外两个广泛采用的标准:永远不要说
使用名称空间std;
,也不要说std::endl
,当你的意思是'\n'
应该实际结束它的条件是什么?如果用户停止输入?为什么人们会标记像这样的东西?@user1344877如果这个答案有效的话对于你来说,你应该考虑通过点击绿色复选标记来“接受”它,这将表明这是你的问题的正式接受答案,并且将给予维克多一些额外的声誉。(从控制台:CTRL-D或CTRL-Z,具体取决于环境。)
while(std::cin >> number) {
std::cin>>number;
if (number<0)
std::cout<< number<< " (base 10) is not a positive integer";
else if (number==0)
std::cout<< number<< " (base 10) = 0 (base 2) ";
else {
binary= binaryConverter(number);
std::cout<< number << " (base 10) =";
std::cout<< binary << " (base 2)";
}
std::cout<< "\n";
}