c++基础实践问题 通讯录系统的录入联系人函数(c币不够不能发悬赏了)

vs2019中添加联系人性别 代码如下

cout << "***** 请输入联系人性别(1.男 2.女) *****" << endl;
        int sex ;
        bool flag = true;
        while (flag == true)
        {
            cin >> sex;

            if (sex == 1 || sex == 2)
            {
                abs->personsArray[abs->number].sex = sex;
                flag = false;
            }
            else
                cout << “请输入正确的性别(1.男 2.女) " << endl;
        }

abs->personsArray[abs->number].sex是我自己建的结构体

#define max 1000
struct person
{
    //联系人名字
    string name;
    //联系人年龄
    int age;
    //联系人性别 (1、男 2、女)
    int sex;
    //联系人住址
    string address;
    //联系人电话
    int phoneNumber;
};

struct addressBooks
{
    //通讯录数组
    person personsArray[max];
    //当前联系人个数(初始为0)
    int number;
};

运行录入的时候 录入完成会进入死循环 一直重复“请输入正确的性别(1.男 2.女) " ,这是编译器的问题还是代码有逻辑错误??
请大佬帮忙解答一下。

图片说明
我这并没有任何问题
可以考虑重新新建一个项目/解决方案
或者重新下载vs

你怎么输入的,是输入的1或者2然后直接回车的么,输入的是英文半角的数字么。