其他分享
首页 > 其他分享> > 简易订票系统

简易订票系统

作者:互联网

代码:

#include <iostream>
#include <list>
#include <string>
using namespace std;
struct Date
{
	int year;
	int month;
	int day;
};
struct StTickInfo
{
	char id[16];     //订单号
	Date date;       //订票日期
	char name[16];   //航空公司名称
	char hangban[16];//航班号
	char src[16];   //出发地
	char dst[16];   //目的地
	int price;
	char guest[20];  //订票人名
	char guId[20];   //订票人身份证号
};

//添加订单
void add(list<StTickInfo> &info)
{
	StTickInfo st;
	cout << "订   单   号:";
	cin >> st.id;
	cout << "订 票 日 期 :";
	cin >> st.date.year >> st.date.month >> st.date.day;
	cout << "航空公司名称:";
	cin >> st.name;
	cout << "航   班   号:";
	cin >> st.hangban;
	cout << "出   发   地:";
	cin >> st.src;
	cout << "目   的   地:";
	cin >> st.dst;
	cout << "价        格:";
	cin >> st.price;
	cout << "订票人姓名  :";
	cin >> st.guest;
	cout << "订票人身份证:";
	cin >> st.guId;
	info.push_back(st);
}

//删除订单(根据姓名或者身份证号删除,假设一个人只有一张票)
void dele(list<StTickInfo> &info)
{
	string p;
	cout << "请输入需要删除的订单信息(订票人姓名或者身份证号):";
	cin >> p;
	list<StTickInfo>::iterator it= info.begin();
	for (; it != info.end();it++)
	{
		if(strcmp(it->guest,p.c_str()) == 0 || strcmp(it->guId,p.c_str()) == 0)
		{
			info.erase(it);
			break;
		}
	}
}

//查找订单
void find(list<StTickInfo> &info)
{
	string p="";
	bool b = false;
	cout << "请输入航班或航空公司名称或订票人姓名或订票人身份证号查找" << endl;
	cin >> p;
	list<StTickInfo>::iterator it= info.begin();
	for (; it != info.end();it++)
	{
		//根据航班、航空公司名称、订票人姓名、订票人身份证号查找
		if (strcmp(it->hangban,p.c_str()) == 0 || strcmp(it->name,p.c_str())==0 || strcmp(it->guest,p.c_str())==0 || strcmp(it->guId,p.c_str())==0)
		{
			b = true;
			cout << "订   单   号:" << it->id << endl;
			cout << "订 票 日 期 :" << it->date.year << "-" << it->date.month <<"-" << it->date.day << endl;
			cout << "航空公司名称:" << it->name << endl;
			cout << "航   班   号:" << it->hangban << endl;
			cout << "出   发   地:" << it->src << endl;
			cout << "目   的   地:" << it->dst << endl;
			cout << "价        格:" << it->price << endl;
			cout << "订票人姓名  :" << it->guest << endl;
			cout << "订票人身份证:" << it->guId << endl;
		}
	}
	cout <<endl;
	if (!b)
		cout << "未查找到结果"<< endl;
	
}

//按日期和航班号显示订票人
void Show(list<StTickInfo> &info)
{
	Date dd;
	string p;
	bool b = false;
	cout << "请输入航班号和日期:" ;
	cin >> p >> dd.year >> dd.month >> dd.day;
	list<StTickInfo>::iterator it= info.begin();
	for (; it != info.end();it++)
	{
		if (strcmp(it->hangban,p.c_str()) == 0 && it->date.year == dd.year && it->date.month == dd.month && it->date.day == dd.day)
		{
			b = true;
			cout << "订票人:" << it->guest << "  " << it->guId << endl;
		}
	}
	cout <<endl;
	if (!b)
		cout << "未查找到结果"<< endl;
}

int main(void)
{
	int opt;
	list<StTickInfo> info;
	bool isWork = true;
	while(isWork)
	{
		cout << "----------订票管理系统-----------------|"<< endl;
		cout << "|         1.添加订单                   |"<< endl;
		cout << "|         2.删除订单                   |"<< endl;
		cout << "|         3.查找订单                   |"<< endl;
		cout << "|         4.按日期和航班号输出订票人   |"<< endl;
		cout << "|         9.退出系统                   |"<< endl;
		cout << "----------请输入您的操作---------------|"<< endl;
		cin >> opt;
		switch(opt)
		{
		case 1:
			add(info);
			break;
		case 2:
			dele(info);
			break;
		case 3:
			find(info);
			break;
		case 4:
			Show(info);
			break;
		case 9:
			isWork = false;
			break;
		}
	}
	
	return 0;
}

标签:info,cout,系统,订票,st,char,简易,list,date
来源: https://blog.csdn.net/qfl_sdu/article/details/117651587