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

这篇具有很好参考价值的文章主要介绍了【c/c++飞机订票系统】c/c++飞机订票系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.项目背景

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

2.设计目的 

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

3.项目功能需求

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

系统的功能结构图

 c++飞机订票系统,c语言

功能模块介绍

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

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

主函数

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

主界面显示如下c++飞机订票系统,c语言

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

c++飞机订票系统,c语言

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

按照目的地查找机票界面

c++飞机订票系统,c语言

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

#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;
}

需要全部代码可以联系我:lxt123lxp456  制作不易 伸手党勿扰文章来源地址https://www.toymoban.com/news/detail-776687.html

到了这里,关于【c/c++飞机订票系统】c/c++飞机订票系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言课设--航班订票系统

    大一的C语言课设,极简航班订票系统,希望能够对大家有所帮助 源码 + 文件 : 航班订票系统.zip 0.文件结构 首先需要在代码文件同级文件夹下创建一个flight文件夹,然后在flight文件夹下创建flight.dat和order.dat文件分别用于保存航班信息和订票信息 文件结构1 文件结构2 1.代码

    2024年02月03日
    浏览(38)
  • 用C语言实现高铁客运订票系统

    目录 一、设计目的 二、设计内容与要求 三、自己做的具体项目实现的功能: 四、设计思路 五、实现过程 六、代码: 七、实验报告和ppt: 八、结果展示: 九、我的文档数据: 1. 通过对高铁客运订票系统的程序设计,巩固在数据结构中学习的算法知识,提高对程序的整体设

    2024年02月09日
    浏览(45)
  • 22级数据结构大作业地铁订票系统c++

    内容需求:  参考图中郑州地铁一号线部分线路图设计一个地铁订票系统。 【问题描述】 订票管理系统应实现地铁站的插入、删除、修改、查询、排序以及票价查询等工作,请设计一个计算 机系统,实现上述功能。 【基本要求】 (1)使用合适的数据结构存储地铁站数据并

    2024年01月24日
    浏览(40)
  • 数据结构课程设计之火车票订票系统实现(C语言/C++版本)

    课题描述 编制一个程序,火车票订票的业务活动包括:车次查询、订票、退票、用户管理等。 需求分析 用户信息包括用户姓名、身份证号、用户电话、用户所购列车号、订单号;列车信息包括:列车车站号、车票起点、车票终点、出发时间、到达时间、票价、票数等基本信

    2024年01月19日
    浏览(56)
  • 民航票务管理系统-C语言--录入,查询,订票,退票,修改航班信息以及主菜单和子菜单。

    我的课程设计题目为民航票务管理系统,其目的是为了便利人们购买飞机票的过程为广大人民群众提供便利,本系统主要为订票者提供订票服务以及相关的信息服务。同时增加了我对于程序设计的理解以及对于 C 语言的熟练度。 录入:可以录入已知航班情况; 查询:可以查

    2024年02月12日
    浏览(42)
  • C语言版数据结构-课程设计-航空客运订票系统 V2.0 附源码(增加管理员功能)

    相信很多粉丝看过看过我的主页,有一个航空订票系统: 数据结构航空订票系统(附源码) 但是最近后台收到很多粉丝的要求,在上一个航空订票系统中要加上管理员的功能块,于是对上面那个课设进行了改进,新的功能流程如下: (航班信息由管理员添加和删除、顾客可

    2024年02月03日
    浏览(58)
  • 【C++】飞机大战项目记录

    源代码与图片参考自《你好编程》的飞机大战项目,这里不进行展示。 本项目是仅供学习使用的项目 源代码与图片参考自《你好编程》 根据飞机大战的游戏特性,首先可以确定的是游戏的基本玩法和规则。对于本软件项目,游戏的核心机制是使用鼠标控制一架飞机在屏幕上

    2024年04月23日
    浏览(37)
  • 【C++】做一个飞机空战小游戏(十)——子弹击落炮弹、炮弹与飞机相撞

    [导读]本系列博文内容链接如下: 【C++】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C++】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动 【C++】做一个飞机空战小游戏(三)——getch()函数控制任意造型飞机图标移动 【C++】做一个飞机

    2024年02月12日
    浏览(42)
  • 【c语言】飞机大战(1)

    提前准备好游戏要的素材,可以到爱给网去找,飞机大战我们需要的是一个我方战机图片,一个背景图,三个敌方战机的图,我方战机的图片,敌方战机的图片,并且将图片和.cpp放在同一文件夹下. 这里创建.cpp的文件是因为要用到图形库,所以创建.cpp的文件,然后图片格式

    2024年02月04日
    浏览(35)
  • 【c语言】飞机大战终

    效果演示

    2024年02月03日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包