c语言自定义int FindAP(Elemtype a[],int n); 功能:输入起飞时间,始发地,航班号,订票人数进行组合查询。如果查询成功返回机票信息,查询失败返回-1。
时间: 2023-12-14 20:37:45 浏览: 24
以下是一个可能的实现:
```c
typedef struct {
int time; // 起飞时间
char from[20]; // 始发地
char number[10]; // 航班号
int seats; // 座位数
} Ticket;
typedef struct {
int year, month, day; // 出发日期
int hour, minute; // 出发时间
char from[20]; // 始发地
char to[20]; // 目的地
int count; // 订票人数
} Query;
int FindAP(Ticket tickets[], int n, Query query) {
for (int i = 0; i < n; i++) {
Ticket ticket = tickets[i];
if (strcmp(ticket.from, query.from) == 0 && strcmp(ticket.number, query.number) == 0 && ticket.seats >= query.count) {
// 首先判断始发地和航班号是否匹配,然后再判断座位数是否足够
int ticket_hour = ticket.time / 100;
int ticket_minute = ticket.time % 100;
if (ticket_hour > query.hour || (ticket_hour == query.hour && ticket_minute >= query.minute)) {
// 如果机票的起飞时间晚于查询的起飞时间,就返回机票信息
printf("起飞时间:%d:%d,始发地:%s,航班号:%s,座位数:%d\n", ticket_hour, ticket_minute, ticket.from, ticket.number, ticket.seats);
return i;
}
}
}
// 如果没有找到匹配的机票,就返回-1
return -1;
}
```
这个函数的参数包括一个 Ticket 数组,表示所有可用的机票,一个整数 n 表示机票数量,以及一个 Query 结构体,表示查询条件。Query 结构体包含查询的起飞时间、始发地、航班号和订票人数等信息。函数会遍历所有机票,找到符合查询条件的机票并打印出信息,然后返回该机票在数组中的下标。如果没有找到符合条件的机票,函数会返回-1。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)