要实现根据输入的性别选择执行下一语句,可以在addperson函数中使用条件判断来实现。
首先,在性别输入之前,将一个变量isSexValid初始化为false,表示性别输入是否有效。
然后,在输入性别的部分进行修改,使用一个循环来不断要求输入性别,直到输入有效为止。循环中,根据输入的性别值,如果是1或2,则将isSexValid设置为true,并且将对应的性别值赋给通讯录中的联系人结构体的sex成员。同时,添加一个break语句来跳出循环。
最后,可以在判断isSexValid的值是否为true,如果是则执行下一语句,否则输出错误提示并终止函数。
下面是修改后的代码:void addperson(addressbooks* abs){ if (abs->size == max) return; else { string name; cout << "请输入姓名:" << endl; cin >> name; abs->array[abs->size].name = name; int sex = 0; bool isSexValid = false; // 标记性别输入是否有效 while (!isSexValid) { cout << "请输入性别:" << endl; cout << "1---男" << endl; cout << "2---女" << endl; cin >> sex; if (sex == 1 || sex == 2) { abs->array[abs->size].sex = sex; isSexValid = true; // 设置性别输入为有效 break; } cout << "输入有误,请重新输入" << endl; } int age; cout << "请输入年龄:" << endl; cin >> age; abs->array[abs->size].age = age; // 执行下一语句的代码 if (isSexValid) { // ... } else { cout << "性别输入无效" << endl; } }}
这样,当用户输入的性别为1或2时,就会执行下一语句;否则,会输出错误提示并终止函数。
球一个最佳答案谢谢啦!这对我非常重要! |