我c++刚学打了一下c++primer第五版的例题,发现按照给的不能输出完整的结果

#include
using namespace std;
int main()
{
int currVal=0,val=0;//currVal是正在统计的数,新输入值存入val
if(cin>>currVal)
{
int cnt=1;//保存当前处理值的个数
while(cin>>val)
{
if(val==currVal)
++cnt;
else
{
cout<<currVal<<" occurs"<<cnt<<" times"<<endl;
currVal=val;//记住新值
cnt=1;//重置
}
}
cout<<currVal<<" occurs"<<cnt<<" times"<<endl;
}
return 0;

}我这不能打印后面出现的数

img


,看一下哪里出错了

第一行有但提问时预览没了就离谱