如何使vector<int>类的 while(cin>>num)段的输入结束?题目及源代码如下,我用的是VC++6.0的编译器,求指点。
原题:(C++Primer中文第四版P83习题3.13):读一组数据到vector对象,计算并输出每对相邻元素的和。如果读入元素个数为奇数,则提示用户最后一个元素没有求和,并输出其值。
源代码如下:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> ivec;
vector<int>::size_type ix_size;
int num;
cout<<"Please input a line of number:"<<endl;
while(cin>>num)
ivec.push_back(num);
ix_size=ivec.size();
if(ix_size == 0){
cout<<"No element?!"<<endl;
return -1;
}
cout<<"Sum of each pair of adjacent elements in the vector:"<<endl;
for(vector<int>::size_type ix=0;ix<ix_size-ix-1;++ix){
cout<<ivec[ix]+ivec[ix_size-ix-1]<<'\t';
if((ix+1)%6 == 0) cout<<endl;
}
if(ix_size%2 != 0){
cout<<"Odd number!The last element is not been included!"
<<"and the last element is"
<<ivec[ix_size-1]<<endl;
}
return 0;
}
编译无错,但我不能结束 while(cin>>num)
ivec.push_back(num);段的输入,(书上说用Ctrl+Z但无用)。。求指点。。。