「已注销」 2023-02-05 18:27 采纳率: 0%
浏览 11

编写通讯录创建的问题

在创建通讯录时,需要添加联系人的性别,用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;
            }
        }


但当用户误输入字母时会陷入死循环中,请问如何破解这个循环?怎样解决用户误输入字母的情况?
感谢回答!

  • 写回答

2条回答 默认 最新

  • 元气少女缘结神 2023-02-05 18:32
    关注

    增加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;
                }
            }
    
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 2月5日