c++语句衔接问题,不知如何衔接

图片说明定义了一个开关1-5,让用户输入1-5的数字来选择操作,但是想万一用户输入的不是这些数字,就会出错,于是我就用了if else,如果输入的不是这些数字就会显示输入错误。可现在问题是我想让用户在被提示输入错误之后直接再输入数字来选择操作,该如何写呀。。

 cin >> num;
while (num <1 || num > 5)
{
cout << "输入有错";
cin >> num;
}

在外层再加一个循环啊,然后搞一个选项可以退出循环的就行了。

关键字if换成while,{}里再加一句cin

while (num <= 5 || num >= 1) 这才是 1 --- 5
{

}

while(true)
{
cin >> num;
switch(num)
{
case 1:
...
case 2:
...

    default:
        cout << "error" << endl;
        break;
}

}