我不是说要删除的是CustName类吗
时间: 2024-04-15 21:32:13 浏览: 47
非常抱歉,我之前的回答理解有误。如果要删除的是`CustName`类对象(而不仅仅是其中的姓名),你可以在找到匹配的航班后直接将`CustName`对象从航班中删除。
以下是修改后的代码示例:
```cpp
while (true) {
flag = 0;
prefix("退票办理");
cout << " 请输入航班号:";
cin >> answer;
for (auto& flight : v) {
if (flight.Flight_No == answer) {
cout << " 请输入您的姓名:";
cin >> name;
for (auto it = flight.CustName.begin(); it != flight.CustName.end(); ++it) {
if (it->Name == name) {
flag = 1;
Seat_No = it->Seat_No;
flight.CustName.erase(it);
flight.Free_Amount += 1;
flight.CustNo -= 1;
Customer_Count--;
if (Customer_Count == 0) {
IsEmpty = 1;
}
break;
}
}
if (flag == 1) {
break;
}
}
}
// 其他后续处理...
}
```
这样修改后,在找到匹配的航班和姓名后,会删除`CustName`类对象,并更新相关的计数器和状态。请注意,这只是修改了部分代码,你还需要根据实际情况进行适当的调整和完善。
阅读全文