注册 登录
编程论坛 C++教室

这个程序在Microsoft Visual c++里怎么跳出输入循环?

zhouxy6759 发布于 2010-08-13 09:04, 1507 次点击
#include<iostream>
#include<vector>
using namespace std;
int main()
{
   vector<int> ivec;
   int m;
   
   cout<<"enter some ints"<<endl;
   while(cin>>m)
        ivec.push_back(m);
   cout<<endl;  
   for(vector<int>::iterator iter = ivec.begin();iter != ivec.end();++iter)
     {
         //if((*iter)%2)
         //   (*iter) *= 2;
         *iter = (*iter % 2 == 0 ? *iter : *iter*2);
     }

   for(vector<int>::iterator iter2 = ivec.begin();iter2 != ivec.end();++iter)
     cout<<*iter2<<" ";
   cout<<endl;
   
   return 0;
}
就这个程序,我在linux下用ctrl+d就可以跳出输入,可在Microsoft Visual c++里面,输入完数字后,用ctrl+z结束不了输入啊,用特殊判断,比如 (m != 10000000),但成死循环了,请问这是怎么会事?
4 回复
#2
chenaiyuxue2010-08-13 09:23
如果你要输入1,2,3,那么输入形式为
1
2
3
Ctrl+z
这样应该是可以的
#3
mxs8102010-08-13 09:25
输入非数字字符就应该可以了吧~~~
#4
tantan8212010-08-13 11:41
程序代码:
while(cin>>m)
        ivec.push_back(m);while(cin>>m)
       if(m==-1)
       {
            break;
       }
        ivec.push_back(m);
添加个退出键就行呢
#5
zgxyz20082010-08-16 11:10
当你输入一个非int型就跳出循环了....
1