遍历的是这个航班信息航班类里面包括了一个custname的类,在这个类里面才有要查找的姓名,怎么比对这个姓名并且删除custname的类
时间: 2024-04-15 10:32:12 浏览: 77
如果要在航班类的`CustName`中查找并删除指定的姓名,可以使用以下方法:
1. 遍历航班列表v,对于每一个航班,执行以下步骤:
- 检查航班号是否与输入的航班号相匹配。
- 如果匹配,遍历乘客名单中的姓名,对于每一个乘客姓名,执行以下步骤:
- 检查乘客姓名是否与输入的姓名相匹配。
- 如果匹配,删除该乘客的姓名。
- 增加航班的空座位数量和减少乘客数量。
- 减少总的乘客数量。
- 如果总的乘客数量为0,则将IsEmpty设置为1。
- 退出内层循环。
以下是修改后的代码示例:
```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.Name.begin(); it != flight.CustName.Name.end(); ++it) {
if (*it == name) {
flag = 1;
Seat_No = flight.CustName.Seat_No;
// 删除乘客的姓名
flight.CustName.Name.erase(it);
flight.Free_Amount += 1;
flight.CustNo -= 1;
Customer_Count--;
if (Customer_Count == 0) {
IsEmpty = 1;
}
break;
}
}
if (flag == 1) {
break;
}
}
}
// 其他后续处理...
}
```
这样修改后,代码会在找到匹配的航班和姓名后删除乘客的姓名,并更新相关的计数器和状态。请注意,这只是修改了部分代码,你还需要根据实际情况进行适当的调整和完善。
阅读全文