C++primer(4)上的一个关于iostream的有关问题

C++primer(4)上的一个关于iostream的问题,在线等
为什么每次输入了一个整数之后就从get() 函数里跳出来了?为什么不是等我输出文件结束符才跳出来?帮忙啊!

// 8_3.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
using namespace std;
istream & get(istream & in)
{
int ival;
while(in>>ival,in.eof()){
if(in.bad()){
throw runtime_error("To stream corrputed");
}

if(in.fail()){
cerr<<"bad data ,try again";
in.ignore(200,' ');
continue;
}
cout<<ival<<' ';
}//while
in.clear();
return in;
}
int _tmain(int argc, _TCHAR* argv[])
{
double dar;
get(cin);
cin>>dar;
cout<<dar;
cin>>dar;
return 0;
}



------解决方案--------------------
主要问题是出现在while中,你写错了
应该是while(in>>ival,!in.eof()),相信不用我解释为什么了