C++新手求解:同一行声明多个变量等问题

#include
//该程序是要输入多个数字,打印出该数字及出现的次数
int main()
{
int currval=0;
int val=0;
//这两个声明,教材是作一行写的 int currval =0,val=0; 我win10下的VS2010作一行写就报错? 系统原因?编译器?

if(std::cin>>currval)
{
    int cnt=1;
    while(std::cin>>val)
    {
        if(currval==val)
        {
            ++cnt;
        }
        else
        {
            std::cout<<currval<<" occurs "<<cnt<<" times"<<std::endl;
            currval=val;
            cnt=1;
        }
    }
        std::cout<<currval<<" occurs "<<cnt<<" times"<<std::endl;
        //写完发现跟教材是一样的,但是我这一行没有执行,无法打印出最后那个数字跟它出现的次数。为什么呢?
}
return 0;

}

你是怎么让循环退出的?

这个是你要的么?

 #include <iostream>

int main()
{
    int currval=0; 
    int val=0; 
    if(std::cin>>currval)
    {
        int cnt=1;
        do{
            std::cin>>val;  //我把输入放在循环里面 用获取的字符是不是'\n'来决定是否继续循环
            if(currval==val)
            {
                ++cnt;
            }
            else
            {
                std::cout<<currval<<" occurs "<<cnt<<" times"<<std::endl;
                //下面两句是为了算每个字符连续输入的几次的么?
                //currval=val;  
                //cnt=1; 如果加这句 得到的就是连续输入的个数 不是总个数
            }
        }while(std::cin.get()!='\n');//判断该字符是否为'\n'
        std::cout<<currval<<" occurs "<<cnt<<" times"<<std::endl;
    }
    return 0;
}

我也是新手,希望对你有帮助
你看的是第几章啊,我没看找到这个例子啊

图片说明
程序没问题啊,我打了一下没改动

int main()
{
    int i_value;
    bool b_judge=cin>>value;//如果输入非数字,cin会回复false的,然后跳出循环
    cout<<b_judge<<endl;
}

原程序最后一次用非数字按键跳出循环