"这是一个用C语言编写的航空客运订票系统源代码,包含注释,涉及链表数据结构、队列操作以及用户预订、查询等功能。"
在这个航空客运订票系统中,主要使用了链表数据结构来存储和管理航班信息、预定客户信息以及未定客户信息。以下是该系统的关键知识点:
1. **链表数据结构**:
- `Yidingkehu` 结构体代表已订客户,包含姓名(`name`)和订票数(`dingpiaoshu`),并且有一个指向下一个已订客户的指针(`next1`)。
- `Weidingkehu` 结构体代表未定客户,包含姓名(`name`)和需预定的票数(`yudingpiao`),同样有一个指向下一个未定客户的指针(`next2`)。
- `Hangxian` 结构体表示航班信息,包括航班号(`hangbanhao`)、飞机号(`feijihao`)、飞行日期(`feixingriqi`)、座位数(`chenkerenshu`)、余票(`yupiao`)以及终点站(`zhongdianzhai`)。此外,它还包含了指向下一个航班的指针(`next`)、已订客户链表(`yiding`)和未定客户队列(`yudingqueue`)。
2. **队列数据结构**:
- `linkQueue` 结构体用于表示队列,包含队头(`front`)和队尾(`rear`)两个指针。
3. **函数功能**:
- `LinklistInitLinklist()`:初始化航班链表。
- `InsertLinklist(Linklist&head1)`:插入航班到链表中。
- `hbhchaxun()`:通过航班号查询航班信息。
- `mddchaxun()`:按目的地查询航班信息。
- `lurugongneng()`:实现登录功能。
- `chaxungongnen()`:查询功能,可能包括航班查询、客户查询等。
- `dingpiaogongnen()`:预订机票功能,更新已订客户链表和航班的余票。
- `tuipiaogongnen()`:退票功能,更新已订客户链表和航班的余票。
4. **其他辅助库函数**:
- `#include` 的库函数如 `<stdio.h>`、`<string.h>`、`<conio.h>`、`<ctype.h>`、`<stdlib.h>`、`<malloc.h>` 和 `<math.h>`,用于输入输出、字符串处理、控制台输入输出、字符处理、内存分配和数学计算等。
5. **程序流程**:
- 主函数 `main()` 是程序的入口,根据用户输入调用上述功能函数,实现航空客运订票系统的交互式操作。
这个系统的基本工作流程是:首先初始化航班链表,然后提供一系列查询、预订和退票的交互功能。用户可以通过航班号或目的地查询航班,预订机票时会检查余票,并更新已订客户链表和航班信息,退票则反之。整个系统利用链表和队列的数据结构有效地管理航班和客户信息。