问题遇到的现象和发生背景
在C++中,我提供了两个输入选择1和2,1代表确定,2代表取消,但是当用户误输其他数字的时候,怎么让用户可以重新输入,直至正确输入1或者2?
问题相关代码,请勿粘贴截图
void WorkerManager::Clean_File()
{
cout<<"确定清空吗?"<<endl;
cout<<"1、确定"<<endl;
cout<<"2、取消"<<endl;
int select = 0;
cin>>select;
if(select == 1)
{
//用户想要清空文件
ofstream ofs (FILENAME,ios::trunc); //删除文件后重新创建
ofs.close();
//删除堆区的每个职工对象
if(this->m_EmpArray != nullptr)
{
for(int i=0; i<m_EmpNum; i++)
{
delete this->m_EmpArray[i];
this->m_EmpArray[i] = nullptr;
}
}
//删除堆区数组指针
delete [] this->m_EmpArray;
this->m_EmpArray = nullptr;
this->m_EmpNum = 0;
this->m_FileIsEmpty = true;
cout<<"清空成功"<<endl;
system("pause");
system("cls");
}
else if(select == 2)
{
system("cls");
}
else
{
cout<<"输入有误!请重新输入:";
}
}