C语言数据结构:航班与顾客管理程序

需积分: 16 6 下载量 95 浏览量 更新于2024-07-31 1 收藏 81KB DOC 举报
本资源是一份C语言编程的课程作业,主要涉及数据结构的相关概念和实现。作业中包含以下几个关键知识点: 1. 定义结构体(Structures): - `struct plane_inf`:定义了一个表示航班信息的数据结构,包含了航班号(number)、起止时间(time_go和time_to,存储为字符数组,长度为16)、出发地和目的地(place_go和place_to,字符数组,长度为20)、价格(price)、折扣(discount,浮点型)、总座位数(seat_total,整型)和剩余座位数(seat_odd,整型)。此外,还定义了指向结构体的指针`next`,用于链接多个航班信息。 - `struct cust_inf`:定义了顾客信息结构,包括姓名(name)、订单号(numb_id)、消费金额(amount_t)、购票数量(numb_p)和订单序号(numb_ord)。同样,也有指向结构体的指针`next`。 2. 常量宏定义: - `P_S` 和 `P_P` 是宏定义,它们用于方便地引用结构体成员的地址。`P_S` 用于获取结构体成员的地址,而 `P_P` 则用于设置结构体成员的值。 3. 函数定义: - `luru()`、`xiugai()`、`chaxun()`、`dingpiao()`、`tuipiao()`:这些函数可能是作业中的各种操作,比如查询、修改、打印和购票等,但具体功能没有在代码片段中给出。 - `xg_hb()`:这是一个可能用于处理乘客购票逻辑的函数,它接受航班号和消费金额作为参数,并返回一个与之相关的操作结果,但没有提供实现细节。 - `read_p()` 和 `read_c()`:这两个函数用于读取航班和顾客信息,可能是从用户输入或文件中读取。 - `write_p()` 和 `write_c()`:用于将航班和顾客信息写入到文件或其他输出源。 - `free_p()` 和 `free_c()`:释放内存,用于管理动态分配的航班和顾客信息结构。 4. 主函数 `main()`: - 该函数通过一个循环提供用户界面,允许用户选择不同的操作,如查看菜单(`do...while` 循环),选择功能并调用相应的函数。 这份代码是C语言中数据结构的应用实例,重点在于结构体的定义、操作函数的编写以及用户交互的设计,展示了如何在实际项目中组织和处理数据。要完成这个作业,学生可能需要实现上述函数的具体逻辑,处理数据的输入输出,以及内存管理。