航班订票系统,查询航班信息,订票,退票,C语言代码

时间: 2023-08-18 17:41:32 浏览: 43
以下是一个简单的航班订票系统的 C 语言代码示例: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_FLIGHTS 10 #define MAX_NAME_LENGTH 30 typedef struct { char from[MAX_NAME_LENGTH]; char to[MAX_NAME_LENGTH]; int seats; int price; } Flight; Flight flights[MAX_FLIGHTS]; int num_flights = 0; void add_flight(char *from, char *to, int seats, int price) { if (num_flights >= MAX_FLIGHTS) { printf("Sorry, the maximum number of flights has been reached.\n"); return; } Flight new_flight; strcpy(new_flight.from, from); strcpy(new_flight.to, to); new_flight.seats = seats; new_flight.price = price; flights[num_flights++] = new_flight; printf("Flight added successfully.\n"); } void print_flights() { printf("Flights:\n"); for (int i = 0; i < num_flights; i++) { printf("%d. %s to %s, %d seats available, price: %d\n", i + 1, flights[i].from, flights[i].to, flights[i].seats, flights[i].price); } } int find_flight(char *from, char *to) { for (int i = 0; i < num_flights; i++) { if (strcmp(flights[i].from, from) == 0 && strcmp(flights[i].to, to) == 0) { return i; } } return -1; } void book_flight(char *from, char *to, int num_passengers) { int index = find_flight(from, to); if (index == -1) { printf("Sorry, no flights available from %s to %s.\n", from, to); return; } Flight *flight = &flights[index]; if (flight->seats < num_passengers) { printf("Sorry, only %d seats available on the %s to %s flight.\n", flight->seats, flight->from, flight->to); return; } flight->seats -= num_passengers; printf("Successfully booked %d seats on the %s to %s flight.\n", num_passengers, flight->from, flight->to); } void cancel_flight(char *from, char *to, int num_passengers) { int index = find_flight(from, to); if (index == -1) { printf("Sorry, no flights available from %s to %s.\n", from, to); return; } Flight *flight = &flights[index]; flight->seats += num_passengers; printf("Successfully cancelled %d seats on the %s to %s flight.\n", num_passengers, flight->from, flight->to); } int main() { add_flight("New York", "Los Angeles", 50, 500); add_flight("Los Angeles", "Chicago", 40, 400); add_flight("New York", "Chicago", 30, 450); print_flights(); book_flight("New York", "Los Angeles", 2); book_flight("Los Angeles", "Chicago", 4); book_flight("New York", "Chicago", 3); cancel_flight("New York", "Los Angeles", 1); print_flights(); return 0; } ``` 该代码定义了一个 `Flight` 结构体,其中包含航班的起始地点,目的地,可用座位数,价格等信息。 `add_flight` 函数用于添加新的航班, `print_flights` 函数用于打印所有可用的航班, `find_flight` 函数用于查找给定起始地点和目的地的航班, `book_flight` 函数用于预订航班, `cancel_flight` 函数用于取消预订。在 `main` 函数中,我们先添加了三个航班,然后对它们进行了一些操作,最后打印出所有可用的航班。

相关推荐

最新推荐

recommend-type

航空公司售票系统(C语言课设)报告及代码

通过设计一个航空售票系统,实现查询、购票、改签或退票等功能。 1每张机票应包含所属航空公司、起始地、目的地、舱位、价格、起飞时间等信息; 2.用户可查询从起始地起飞到目的地的所有航空公司的当日航班的机票...
recommend-type

航空订票系统 数据结构 VC++

1. 任意性:用户可任意设计航班信息及订票信息的存储结构 2. 友好性:界面要友好,输入有提示,尽量展示人性化 3. 可读性:源程序代码清晰、有层次 4. 健壮性:用户输入非法数据时,系统要及时给出警告信息
recommend-type

2024华为OD机试D卷 - 最多购买宝石数目 - 免费看解析和代码.html

私信博主免费获取真题解析以及代码
recommend-type

华为OD机试D卷 - 小朋友来自多少小区 - 免费看解析和代码.html

私信博主免费获取真题解析以及代码
recommend-type

C51单片机的示例-课程实验-LCD1602基础开发库-内含源码和说明书.zip

C51单片机的示例-课程实验-LCD1602基础开发库-内含源码和说明书.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。