可以在选择要预订的航班之前,先询问用户需要查询哪个出发点到终点的航班。具体来说,可以添加以下代码:
```c++
// 查询航班
cout << "Enter the departure city: ";
string departureCity;
cin >> departureCity;
cout << "Enter the arrival city: ";
string arrivalCity;
cin >> arrivalCity;
// 显示符合条件的航班
bool foundFlight = false;
for (auto& flight : flights) {
if (flight.getDepartureCity() == departureCity && flight.getArrivalCity() == arrivalCity) {
cout << flight.toString() << endl;
foundFlight = true;
}
}
if (!foundFlight) {
cout << "Sorry, no flights available for this route." << endl;
return false;
}
```
这段代码会提示用户输入出发城市和到达城市,并遍历所有航班信息,找到符合条件的航班并输出其信息。如果没有符合条件的航班,则输出相应提示并返回false。
完整代码如下:
```c++
// 查询航班
cout << "Enter the departure city: ";
string departureCity;
cin >> departureCity;
cout << "Enter the arrival city: ";
string arrivalCity;
cin >> arrivalCity;
// 显示符合条件的航班
bool foundFlight = false;
for (auto& flight : flights) {
if (flight.getDepartureCity() == departureCity && flight.getArrivalCity() == arrivalCity) {
cout << flight.toString() << endl;
foundFlight = true;
}
}
if (!foundFlight) {
cout << "Sorry, no flights available for this route." << endl;
return false;
}
// 选择要预订的航班
cout << "Enter the flight number you want to book: ";
string flightNumber;
cin >> flightNumber;
// 查找航班
for (auto& flight : flights) {
if (flight.getFlightNumber() == flightNumber) {
// 检查座位是否充足
if (flight.getAvailableSeats() > 0) {
// 预订