先是创建了两个结构体,联系人结构体和通讯录结构体,代码如下
#define max 1000
//联系人结构体
struct person
{
//姓名
string name;
//性别(1.男 2.女)
int sex;
//年龄
int age;
//家庭住址
string address;
//电话号码
string phoneNumber;
};
//通讯录结构体
struct addressBook
{
//通讯录
person personsArray[max];
//储存的成员个数
int number;
};
录入联系人函数代码如下
void addPersons(addressBook* adk )
{
if (adk->number == 1000)
cout << "通讯录已满" << endl;
else
{
//输入姓名
cout << "请输入联系人姓名" << endl;
cin >> adk->personsArray[adk->number].name;
//输入性别(1.男 2.女)
cout << "请输入联系人性别" << endl;
int sex;
bool flag = true;
while (flag == true)
{
cin >> sex;
if (sex == 1 || sex == 2)
{
adk->personsArray[adk->number].sex = sex;
flag = false;
}
else
cout << "请输入正确的性别" << endl;
}
//输入年龄
cout << "请输入联系人年龄" << endl;
cin >> adk->personsArray[adk->number].age;
//输入住址
cout << "请输入联系人家庭住址" << endl;
cin >> adk->personsArray[adk->number].address;
//输入电话号码
cout << "请输入联系人联系方式" << endl;
cin >> adk->personsArray[adk->number].phoneNumber;
cout << "录入成功" << endl;
adk->number++;
}
}
如果结构体person中电话号码时int类型,那么在执行完录入函数时会出现系循环,一直重复输出“请输入正确的性别”。
实在是搞不懂,有没有大神帮忙解决下??