Jak mogę uniknąć wprowadzania znaków wejściowych dla zmiennej int?

Poniższy program pokazuje wprowadzoną wartość „int” jednocześnie. Jednak gdy wprowadziłem znak, przechodzi on w nieskończoną pętlę wyświetlającą poprzednią wprowadzoną wartość „int”. Jak mogę uniknąć wprowadzania znaku?

#include<iostream>
using namespace std;

int main(){
int n;

while(n!=0){
            cin>>n;
            cout<<n<<endl;
           }
return 0;
}

questionAnswers(3)

yourAnswerToTheQuestion