这些代码中有嵌套循环,break跳出!
也有结构体地址作为形参,当结构体作为形参而不是地址的时候那么,他在函数内改变的值,不会改变函数外的值。
void addAddressBook(addressbook *ads) {
while (1)
{
if (ads->m_size == Max)
{
cout << "抱歉你的通讯录空间已满" << endl;
break;
}
else
{
//保存姓名
cout << "请输入姓名\t" << endl;
string name;
cin >> name;
ads->persion[ads->m_size].m_name = name;
//请输入性别
cout << "请输入性别\t " << endl;
cout << "1---男" << endl;
cout << "2---女 " << endl;
int sex = 0;
while (true)
{
cin >> sex;
if (sex == 1 || sex == 2)
{
ads->persion[ads->m_size].m_sex = sex;//显示的时候得转换过来 这里是数字1;
break;
}
else
{
cout << "请输入正确的选项" << endl;
}
}
//请输入年龄
cout << "请输入年龄\t" << endl;
int age;
cin >> age;
ads->persion[ads->m_size].m_age = age;
//请输入电话
cout << "请输入电话\t" << endl;
string number;
cin >> number;
ads->persion[ads->m_size].m_number = number;
//请输入地址
cout << "请输入地址\t" << endl;
string adress;
cin >> adress;
ads->persion[ads->m_size].m_adress = adress;
ads->m_size++;
cout << "添加成功" << endl;
break;
}
}
}