在创建通讯录时,需要添加联系人的性别,用1代表男,2代表女
代码如下:
cout << "请输入性别: " << endl;
cout << "1-------男 " << endl;
cout << "2-------女: " << endl;
while (true)
{ //死循环,如果输入正确就退出循环,否则一直进行输入
int sex = 0;
cin >> sex;
if (sex == 1 || sex == 2)
{
abs->array[abs->p_Size].p_Sex = sex;
break;
}
else
{
cout << "输入有误,请重新输入" << endl;
}
}
但当用户误输入字母时会陷入死循环中,请问如何破解这个循环?怎样解决用户误输入字母的情况?
感谢回答!
增加sex是大、小写a到z的情况
while (true)
{ //死循环,如果输入正确就退出循环,否则一直进行输入
int sex = 0;
cin >> sex;
if (sex == 1 || sex == 2)
{
abs->array[abs->p_Size].p_Sex = sex;
break;
}
else if((sex>96 && sex<123) || (sex>64 && sex<91))
{
break;
}
else
{
cout << "输入有误,请重新输入" << endl;
}
}