飞机票管理系统

系统展示

 

 

正菜: 

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
#define max 100
struct ticket {			//票
	char StartPoint[10];//起点
	char Terminus[10];  //终点
	char Time[20];	   //花费的时间
	double money;      //票价
};
//系统
struct System {
	struct ticket ticketinfo[max];//最大个数
	int cursize;				  //当前系统元素个数
};
//初始化数据
struct System* Createtable()
{
	struct System* psystem = (struct System*)malloc(sizeof(struct System));//动态内存申请
	assert(psystem);//断言处理
	psystem->cursize = 0;
	return psystem;
}
//主菜单
void menu()
{
	printf("--------------------【飞机票管理系统】-------------\n");
	printf("\t\t\t0:退出功能\n");
	printf("\t\t\t1:录入信息\n");
	printf("\t\t\t2:浏览信息\n");
	printf("\t\t\t3:查找信息\n");
	printf("\t\t\t4:修改信息\n");
	printf("\t\t\t5:删除信息\n");
	printf("\t\t\t6:排序显示\n");
	printf("------------------------------------------------------\n");
	printf("请输入(0-6):");

}
//录入信息
void Insertdata(struct System* psystem)
{
	int userkey = 0;
	while (1)
	{
		printf("请输入飞机票的信息(StartPoint,Terminus,Time,money):\n");
		printf("--------------例如:北京 广州 7:00-10:00 520\n");
		scanf_s("%s%s%s%lf", psystem->ticketinfo[psystem->cursize].StartPoint,10,
							psystem->ticketinfo[psystem->cursize].Terminus,10,
							psystem->ticketinfo[psystem-
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
设计一个飞机票管理系统,该系统尽可能模拟实际应用的票务系统,解决实际需求。至少包括如下功能: (1)航班基本信息管理包括但不限于以下信息的增填、删除、修改、查找:航班号,航空公司名称,航班起飞、降落、经停地点和时间,航班可售票数等; (2)航班动态管理:发布航班延误、取消等信息;当航班发生延误和取消等变更时,通知已经购买该航班机票的乘客,并推荐与该航班具有相同起飞降落地点且未延误的最近航班。 (3)票务管理:客户发出购票申请,如有余票则可以直接购票,如果该航班已经无票,提供预约抢票功能:一旦该航班发生退票,自动购买,如有多人预约,按照预约时间顺序按照先到先得原则分配;退票:退已购票。 (4)票务查询:查询某个两个城市间航班情况或某指定航班号的航班情况(如输入航班号,查询起、降时间,起飞、抵达城市,航班票价,所属航空公司,是否有余票等); (5)查询结果排序:票务查询到多个航班信息时,根据用户的选择,分别根据票价、飞行时间、余票数量等信息对相关航班进行排序; (6)航班推荐:输入两个城市名称,假设两城市间无直飞航班且存在多个转机航程,自行设计算法,推荐综合考虑如下因素的最优购票方案:价格、用时、余票数量。[测试数据]可以参考实际航空公司信息或者自行编制虚拟数据作为测试数据。要求城市数目不小于20,航线数目不小于300。 (7)每个组员选择功能(1)、(2)、(3)中的一个,独立设计完成,不同组员要求选择不同功能;若2人一组,可选其中一个功能合作完成。 (8)小组合作完成功能(4)、(5)、(6)中的至少1项。
链表可以用于实现飞机票管理系统的航班信息存储和操作。下面是一个简单的Java代码示例,演示了如何使用链表实现航班信息的添加、删除和查询功能: ```java import java.util.LinkedList; // 定义航班类 class Flight { private String flightNumber; private String departure; private String destination; private String departureTime; private String arrivalTime; // 构造函数 public Flight(String flightNumber, String departure, String destination, String departureTime, String arrivalTime) { this.flightNumber = flightNumber; this.departure = departure; this.destination = destination; this.departureTime = departureTime; this.arrivalTime = arrivalTime; } // getter和setter方法 // ... // toString方法 @Override public String toString() { return "Flight{" + "flightNumber='" + flightNumber + '\'' + ", departure='" + departure + '\'' + ", destination='" + destination + '\'' + ", departureTime='" + departureTime + '\'' + ", arrivalTime='" + arrivalTime + '\'' + '}'; } } // 航班信息管理系统类 class FlightManagementSystem { private LinkedList<Flight> flights; // 构造函数 public FlightManagementSystem() { flights = new LinkedList<>(); } // 添加航班信息 public void addFlight(Flight flight) { flights.add(flight); } // 删除航班信息 public void deleteFlight(Flight flight) { flights.remove(flight); } // 根据航班号查询航班信息 public Flight searchFlightByNumber(String flightNumber) { for (Flight flight : flights) { if (flight.getFlightNumber().equals(flightNumber)) { return flight; } } return null; } // 查询所有航班信息 public LinkedList<Flight> getAllFlights() { return flights; } } // 测试代码 public class Main { public static void main(String[] args) { // 创建航班信息管理系统对象 FlightManagementSystem system = new FlightManagementSystem(); // 添加航班信息 Flight flight1 = new Flight("CA123", "Beijing", "Shanghai", "08:00", "10:00"); Flight flight2 = new Flight("MU456", "Shanghai", "Guangzhou", "12:00", "14:00"); system.addFlight(flight1); system.addFlight(flight2); // 查询航班信息 Flight searchResult = system.searchFlightByNumber("CA123"); System.out.println("查询结果:" + searchResult); // 删除航班信息 system.deleteFlight(flight2); // 查询所有航班信息 LinkedList<Flight> allFlights = system.getAllFlights(); System.out.println("所有航班信息:"); for (Flight flight : allFlights) { System.out.println(flight); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴趣使然的Qsiri

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值