【c/c++飞机订票系统】c/c++飞机订票系统

1.项目背景

为了免去在窗口排队买票的麻烦,飞机订票系统应运而生。用户通过该系统可以快速,详细地了解需要的信息,并提供了一个很好的购票渠道。

2.设计目的 

如何合理设计不同数据结构来存储航班信息、旅客信息、订票信息等不同数据
如何合理设计不同的链表节点来封装不同的实体信息;
如何合理设计多个链表结构来管理不同实体的若干记录;
进一步强化学习链表的创建、插入、查找、修改和删除等基本操作;
进一步强化学习内存中链表数据和外部文件之间的存取操作;
如何利用time.h中的函数获取系统日期时间

3.项目功能需求

添加机票信息
能够添加机票的航班号、起飞降落时间、目的地、出发地、票价、可定的剩余票数以及折扣信息等。
查询可预订的机票信息
能够根据用户的具体需求即航班号或目的地,查询可定的机票并输出相应的机票信息,支持标准格式输出多条机票信息。
预定机票并输入个人信息
查询机票后,根据用户的选择,决定是否订票,并输入信息。
修改机票信息
能修改已经存在的机票信息。
退票
根据目的地和最早出发时间,系统可以推荐合适的机票信息
显示当前时间

系统的功能结构图

 

功能模块介绍

添加模块
可以连续添加多条航班信息,包括航班号、出发城市、到达城市、出发时间、到达时间、票价、折扣信息、票数
查找模块
用户在订票之前需要先查询满足自己出行需要的机票信息,本功能模块支持按照“航班号”查询和按照“目的地”查询两种方式
订票模块
输入目的地信息,可以输出所有满足该目的地的航班信息,并提示用户是否订票
修改模块
输入需要修改的航班号,可以修改航班信息
退票模块
能支持用户退票操作

显示模块
显示模块可以展示所有航班信息,供旅客查看选择
推荐模块
推荐模块的功能是根据旅客输入的目的地信息和最早出发时间,向旅客推荐满足要求的航班信息,帮助旅客快速搜索符合时间要求的航班
保存模块
能将航班信息和旅客订票信息保存到磁盘文件中,再次启动系统时,则可以自动读取文件中的航班信息和旅客订票信息
时间模块
支持实时查询当前时间功能

主函数

功能设计
主函数用于实现主菜单的显示,并响应用户对菜单项的选择。
本系统的主函数主要两大功能:保存信息和菜单选择。
某个功能执行完之后,还能按任意键自动回到主菜单,便于用户进行其他操作。

主界面显示如下

添加模块
功能设计
用于对飞机班次,始发地,目的地,起飞时间,降落时间,票价,折扣以及所剩票数等信息的输入与保存。
添加模块流程图

查找模块
功能设计
用于根据输入的飞机班次或到达城市来进行查找,了解航班的信息。
提供了两种查询方式:一是根据飞机班次查询,二是根据到达城市查询。

按照目的地查找机票界面

还有一些功能不再演示 如上面所述,功能齐全

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
// 定义结构体存储机票信息
struct Ticket {
	//联系博主获取:lxt123lxp456
};

// 声明全局变量用于存储机票信息
struct Ticket tickets[50];
int totalTickets = 0;

// 添加机票信息
void addTicket() {
	 tickets[i].departureTime, tickets[i].arrivalTime,
					tickets[i].destination, tickets[i].departureCity,
					tickets[i].price, tickets[i].availableSeats, tickets[i].discount);
			}
		}
	} else if (searchType == 2) {
		printf("请输入目的地: ");
		scanf("%s", searchDestination);
		
		printf("查询结果:\n");
		printf("航班号\t起飞时间\t降落时间\t目的地\t\t出发地\t\t票价\t可预订票数\t折扣信息\n");
		
		for (int i = 0; i < totalTickets; i++) {
			if (strcmp(tickets[i].destination, searchDestination) == 0) {
				printf("%s\t%s\t\t%s\t\t%s\t\t%s\t\t%.2f\t%d\t\t%.2f\n",
					tickets[i].flightNumber, tickets[i].departureTime, tickets[i].arrivalTime,
					tickets[i].destination, tickets[i].departureCity,
					tickets[i].price, tickets[i].availableSeats, tickets[i].discount);
			}
		}
	} else {
		printf("无效的查询类型!\n");
	}
}

// 预定机票并输入个人信息

//联系博主获取:lxt123lxp456

// 修改机票信息
void modifyTicket() {
	printf("\n修改机票信息\n");
	
	char searchFlightNumber[20];
	int selectedTicket = -1;
	
	printf("请输入需要修改的机票航班号: ");
	scanf("%s", searchFlightNumber);
	
	for (int i = 0; i < totalTickets; i++) {
		if (strcmp(tickets[i].flightNumber, searchFlightNumber) == 0) {
			selectedTicket = i;
			break;
		}
	}
	
	if (selectedTicket == -1) {
		printf("未找到匹配的机票!\n");
		return;
	}
	
	struct Ticket ticket = tickets[selectedTicket];
	
	printf("请输入新的票价: ");
	scanf("%f", &ticket.price);
	
	printf("请输入新的剩余票数: ");
	scanf("%d", &ticket.availableSeats);
	
	tickets[selectedTicket] = ticket;
	
	printf("机票信息修改成功!\n");
}

// 退票
void cancelTicket() {
	printf("\n退票\n");
	
	char searchDestination[50];
	char earliestDepartureTime[20];
	int selectedTicket = -1;
	
	printf("请输入目的地: ");
	scanf("%s", searchDestination);
	
	printf("请输入最早出发时间: ");
	scanf("%s", earliestDepartureTime);
	
	for (int i = 0; i < totalTickets; i++) {
		if (strcmp(tickets[i].destination, searchDestination) == 0 &&
			strcmp(tickets[i].departureTime, earliestDepartureTime) >= 0) {
			selectedTicket = i;
			break;
		}
	}
	
	if (selectedTicket == -1) {
		printf("未找到匹配的退票机票!\n");
		return;
	}
	
	struct Ticket ticket = tickets[selectedTicket];
	
	// 增加可预订票数
	ticket.availableSeats++;
	tickets[selectedTicket] = ticket;
	
	printf("退票成功!\n");
	printf("退票信息:\n");
	printf("航班号: %s\n", ticket.flightNumber);
	printf("出发地: %s\n", ticket.departureCity);
	printf("目的地: %s\n", ticket.destination);
	printf("票价: %.2f\n", ticket.price);
	printf("剩余票数: %d\n", ticket.availableSeats);
}

// 推荐合适的机票信息



// 显示当前时间
void displayCurrentTime() {
	// 获取当前系统时间并进行格式化输出
	time_t current_time;
	char* c_time_string;
	
	current_time = time(NULL);
	c_time_string = ctime(&current_time);
	
	printf("\n当前时间: %s", c_time_string);
}

int main() {
	int choice;
	
	do {
		printf("\n---------------------\n");
		printf("机票预订系统\n");
		printf("---------------------\n");
		printf("1. 添加机票信息\n");
		printf("2. 查询机票信息\n");
		printf("3. 预订机票并输入个人信息\n");
		printf("4. 修改机票信息\n");
		printf("5. 退票\n");
		printf("6. 推荐合适的机票信息\n");
		printf("7. 显示当前时间\n");
		printf("0. 退出系统\n");
		printf("---------------------\n");
		printf("请选择操作: ");
		scanf("%d", &choice);
		printf("---------------------\n");
		
		//联系博主获取
	} while (choice != 0);
	
	return 0;
}

需要全部代码可以联系我:lxt_996_  制作不易 成品15一份~,或者私信我就好啦~

  • 9
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
旅行社飞机订票系统C是一款基于计算机网络的订票系统,它主要用于随时查询和购买机票。对于现代人来说,飞行已经成为带来便利和快捷的出行方式之一。而订票系统C则可以让人们更加方便快捷地安排行程以及购买机票,省去了排队购票、出行不确定性等烦恼。 具体来说,旅行社飞机订票系统C应具有以下功能: 1. 查询机票:用户可以在系统中输入出发地、目的地、出发日期等信息,查询到符合条件的机票,系统可以根据不同的航班时间、舱位等信息报价,用户可以根据自己的需求进行选择。 2. 预订机票:用户可以通过系统在线预订机票,输入所需信息,完成预订并付款。同时,系统应支持不同的支付方式,如信用卡、支付宝等。 3. 退改签:当用户在预订以后出现意外情况,需要退票或更改行程时,可在订票系统中进行操作,系统应该提供相应的退票、更改机票的功能,充分保障用户的利益。 4. 会员系统:系统应该支持会员积分、优惠折扣等功能,提供更好的服务体验,同时也可以提高用户的忠诚度。 5. 数据分析:订票系统应该具有数据统计和分析能力,例如通过数据分析发现哪些航线容易出现延误、哪些时间段的机票销售量较大等,为旅行社和用户提供更好的服务。 综上所述,旅行社飞机订票系统C具有方便快捷,依靠网络,统一查询,在线预订,退改签等实用性强的优点,使用户无论在家还是在外,都可以方便地完成机票预订,提高了出行效率。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值