【C++面向对象】C++飞机购票订票系统(源码+说明)【独一无二】

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


C++飞机购票订票系统(源码+说明)【独一无二】



一、功能描述

实现了一个飞机订票系统。主要功能包括:

  1. 用户可以录入航班信息,包括航班号、起飞时间、降落时间、起飞城市、降落城市、座位信息、价格和折扣等。
  2. 用户可以查询特定航班的信息,包括起飞时间、降落时间、起飞城市、降落城市、剩余座位、价格和折扣等。
  3. 用户可以删除航班信息,删除后航班及其相关的用户订票信息将从系统中移除。
  4. 用户可以查看所有航班的信息,包括航班号、起飞时间、降落时间、起飞城市、降落城市、剩余座位、价格和折扣等。
  5. 用户可以进行订票操作,录入自己的姓名、身份证号和要订票的航班号,系统会为用户分配座位。
  6. 用户可以查询特定用户的信息,包括姓名、身份证号、订票航班和座位号等。
  7. 用户可以进行退票操作,输入要退票的用户姓名,系统会取消该用户对应的座位,并将座位号返还给航班的空余座位。
  8. 用户可以查看所有用户的信息,包括姓名、身份证号、订票航班和座位号等。
  9. 用户可以选择退出系统。

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 订票飞机 ” 获取。👈👈👈


二、功能实现

这段代码实现了一个简单的飞机订票系统。以下是其功能简述:

  1. LQueue 类(队列)

    • 实现了队列数据结构,支持入队(EnQueue)、出队(DeQueue)和检查队是否为空(Emply)等操作。
  2. userLink 类(用户)

    • 实现了用户信息的添加、删除和查询功能,包括添加用户(add_user)、删除用户(delete_user)、查询用户(seek_user)和输出用户信息(out_user)等方法。
  3. planeLink 类(飞机)

    • 实现了航班信息的添加、删除和查询功能,包括添加航班(add_plane)、删除航班(delete_plane)、查询航班(seek_plane)和输出航班信息(out_plane)等方法。
    • 还包括了处理航班座位的功能,如录入退订座位号(back_seat)和返回座位号(out_seat)等方法。

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 订票飞机 ” 获取。👈👈👈

  1. 主函数
    • 提供了用户界面,支持以下操作:
      • 录入航班信息(1)
      • 查询航班信息(2)
      • 删除航班信息(3)
      • 输出航班信息(4)
      • 用户订票(5)
      • 查询用户信息(6)
      • 用户退票(7)
      • 输出用户信息(8)
      • 退出系统(9)

通过以上功能,用户可以实现对航班和用户信息的管理,包括录入、查询、删除和输出等操作。


三、功能展示

1.录入航班

在这里插入图片描述

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 订票飞机 ” 获取。👈👈👈

2.查询航班

在这里插入图片描述

3.删除航班

在这里插入图片描述

4.输出航班信息

在这里插入图片描述

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 订票飞机 ” 获取。👈👈👈

5.用户订票

在这里插入图片描述

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 订票飞机 ” 获取。👈👈👈

6.查询用户

在这里插入图片描述

7.输出用户信息

在这里插入图片描述

8.用户退票

在这里插入图片描述

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 订票飞机 ” 获取。👈👈👈


四、部分代码示例

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <cstring>
using namespace std;

class userLink;
struct Node
{
	int i;
	Node* next;
};

class LQueue
{
private:
	Node* front, * rear;
public:
	LQueue();
	~LQueue();
	void EnQueue(int x);
	int DeQueue();
	bool Emply();
};


struct Plane
{
	char plane_number[10];
	char strat_time[10];
	char end_time[10];
	char strat_city[20];
	char end_city[20];
	int full;
	int empty_seats;
	int all_seats;
	LQueue backseats;
	float price;
	float discount;
	Plane* next;
};

struct user
{
	char name[10];
	char ID[20];
	char plane_number[10];
	int order_number;
	user* next;
};

// 略.........
// 略.........
> 👉👉👉源码关注【测试开发自动化】公众号,回复 “ 订票飞机 ” 获取。👈👈👈

int main()
{
	planeLink air;
	userLink uli;
	int n, i, options;
	do
	{

		//system("cls");
		cout << "============================================================================" << endl
			<< "=============                 飞机订票系统                     =============" << endl
			<< "============================================================================" << endl
			<< "                      1.录入航班." << endl
			<< "                      2.查询航班." << endl
			<< "                      3.删除航班." << endl
			<< "                      4.输出航班信息." << endl
			<< "                      5.用户订票." << endl
			<< "                      6.查询用户." << endl
			<< "                      7.用户退票." << endl
			<< "                      8.输出用户信息." << endl
			<< "                      9.退出." << endl
			<< "============================================================================" << endl
			<< "                      输入选项(1-8):";
		cin >> options;
		switch (options)
		{
		case 1:
		{
			//system("cls");
			cout << "录入几个航班:";
			cin >> n;
			//system("cls");
			for (i = 0; i < n; i++)
				air.imp_plane();
		}break;
		case 2:
		{
			//system("cls");
			char s[10];
			cout << "请输入要查询的航班:";
			cin >> s;
			//system("cls");
			air.seek_plane(s);
			system("pause");
		}break;
		case 3:
		{
			//system("cls");
			char s[10];
			cout << "请输入要删除的航班:";
			cin >> s;
			air.delete_plane(s, uli);
			system("pause");
		}break;
		case 4:
		{
			//system("cls");
			air.out_plane();
			system("pause");
		}break;
		case 5:
		{
			//system("cls");
			cout << "需要定票几张:";
			cin >> n;
			//system("cls");
			for (i = 0; i < n; i++)
				uli.imp_user(air);
		}break;
		case 6:
		{
			//system("cls");
			char s[10];
			cout << "请输入查询的用户:";
			cin >> s;
			//system("cls");
			uli.seek_user(s);
			system("pause");
		}break;
		case 7:
		{
			//system("cls");
			char s[10];
			cout << "请输入要退票的姓名:";
			cin >> s;
			uli.delete_user(s, air);
			system("pause");
		}break;
		case 8:
		{
			//system("cls");
			uli.out_user();
			system("pause");
		}break;
		}
	} while (options < 9);

}

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 订票飞机 ” 获取。👈👈👈

  • 19
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
1、问题描述: 航空客运订票的业务包括查询航班、客票预订和办理退票等。试设计一个航空客运订票系统,已使上述业务可以借助计算机完成。 2、功能要求: (1)每条航线所涉及的信息有终点站名、航班号、飞机号、星期几飞行、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级),以及等候补替补的客户名单(包括姓名、所需票量)。 (2)作为示意系统:全部数据可以只放在内存中。 (3)系统能实现的操作和功能如下: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)。 查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞、最近航班的日期和余票量。 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号。若已满员或者余票数少于订票额,则需重新寻味客户要求,若需要,可登记排队候补。 承办退票业务:根据客户提供的情况(日期、航班)为客户办理退票手续,然后查询该航班是否有人排队等候补。首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。 修改航班信息:当航班信息改变可以修改航班数据文件。
以下是一个简单的火车订票系统面向对象C++代码示例: ```c++ #include <iostream> #include <string> #include <vector> using namespace std; class Train { private: string name; int max_passengers; vector<string> passengers; public: Train(string name, int max_passengers) { this->name = name; this->max_passengers = max_passengers; } string getName() { return name; } int getMaxPassengers() { return max_passengers; } int getNumPassengers() { return passengers.size(); } bool addPassenger(string passenger) { if(passengers.size() >= max_passengers) { return false; } passengers.push_back(passenger); return true; } }; int main() { Train train("K123", 50); cout << "Welcome to train booking system. Train " << train.getName() << " can take " << train.getMaxPassengers() << " passengers." << endl; while(true) { string command; cout << "Enter command (book, status, exit): "; cin >> command; if(command == "book") { string passenger; cout << "Enter passenger name: "; cin >> passenger; if(train.addPassenger(passenger)) { cout << "Booking successful." << endl; } else { cout << "Booking failed. Train is full." << endl; } } else if(command == "status") { cout << "Train " << train.getName() << " has " << train.getNumPassengers() << " passengers." << endl; } else if(command == "exit") { break; } else { cout << "Invalid command. Please try again." << endl; } } return 0; } ``` 这个程序定义了一个Train类,它有一个名称,最大乘客数和一个存储乘客名字的向量。类中有一些方法,例如addPassenger()将一个乘客名字添加到向量中,getNumPassengers()返回当前已订票的乘客数。在主函数中,程序通过输入不同的命令(book,status或exit)来与用户交互。如果输入book命令,则程序将要求输入乘客姓名并将其添加到Train对象中。如果输入status命令,则程序将打印当前已订票的乘客数。如果输入exit命令,则程序将退出。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

米码收割机

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

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

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

打赏作者

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

抵扣说明:

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

余额充值