⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 airsys.h

📁 机票售票系统
💻 H
字号:
//////////////////////////////////////////////////////////////////////////
//		航空客运售票系统核心类[声明文件](airsys.h)								//
//////////////////////////////////////////////////////////////////////////

#ifndef _AIRSYSTEM_H
#define _AIRSYSTEM_H

#define MAXLEN  10		//所有字符串长度

//////////////////////////////////////////////////////////////////////////
//			结构体/类声明												//
//////////////////////////////////////////////////////////////////////////

class linklist;			//链式线性表基类
class person;			//客户类
class airsystem;		//航空售票系统类
class city;				//城市类
class flight;			//航班类
class personlist;		//定票客户列表类
class personqueue;		//候补客户列表类


//////////////////////////////////////////////////////////////////////////
//			结构体/类成员声明											//
//////////////////////////////////////////////////////////////////////////

class linklist			//链式线性表基类
{
public:
	char name[MAXLEN+1];	//结点名称
	linklist *next;			//下一个结点指针
};

class person:public linklist			//客户结构体
{
public:
	long index;
	short num;				//定票量
	short level;			//舱位等级
};

class personlist		//定票客户列表
{
public:
	person *first;			//第一个客户指针
	//定票客户列表操作
	personlist();			//构造函数
	~personlist();			//析构函数
	void clear();			//清除客户列表
	person *addperson(char *vname,short vnum,short vlevel);	//按姓名顺序插入新客户
	int delperson(char *vname,short &vnum,short &vlevel);	//删除已有客户
};

class personqueue		//候补客户列表
{
public:
	person *first;			//第一个客户指针
	short num;				//候补客户数量
	//候补客户列表操作
	personqueue();			//构造函数
	~personqueue();			//析构函数
	void clear();			//清除客户列表
	person *addperson(char *vname,short vnum,short vlevel);	//在队尾插入新客户
	int delperson();									//删除队头客户
	int delperson(char *vname);							//删除任意客户
	person *popperson();	//弹出队头客户(返回此客户指针)
};

class flight:public linklist		//航班类
{
public:
	char cname[MAXLEN+1];	//城市名
	char pname[MAXLEN+1];	//飞机号
	short day;				//飞行周日
	short num[3];			//1-3等舱定额
	short space[3];			//1-3等舱余票数
	long  pos[3][1000];
	personlist pay;			//定票客户列表
	personqueue wait;		//候补客户列表
	flight *next;			//下一个航班指针
	//航班列表操作
	flight();				//构造函数
	~flight();				//析构函数
	void clear();			//清除所有客户列表信息
	person *getpay(short n);
	person *getwait(short n);
	short findpay(person *p);
	short findwait(person *p);
	short getpos(short level);
	long  getn(char *vname);
	person *addperson(char *vname,short vnum,short vlevel);	//添加新客户
	int delperson(char *vname);							//删除已有客户
	void movewtop();		//把候补客户按需补充到定票客户列表中
};

class city:public linklist	//城市名列表类
{
public:
	flight *first;			//第一个航班指针
	city *next;				//下一个城市指针
	//城市列表操作
	city();					//构造函数
	~city();				//析构函数
	void clear();			//清除所有航班
	flight *get(short n);
	short find(flight *f);
	flight *addflight(char *vcname,char *vfname,char *vpname,short vday,short vnum1,short vnum2,short vnum3);	//添加航班
	int delflight(char *vfname);//删除航班
	flight *getflight(short n);	//取第n个航班指针
};

class airsystem			//航空售票系统类
{
public:
	city *first;				//第一个城市指针
	//航空售票系统操作
	airsystem();				//构造函数
	~airsystem();				//析构函数
	void clear();				//清除所有城市
	city *get(short n);
	short find(city *f);
	city *addcity(char *vname);	//添加城市
	int delcity(char *vname);	//删除城市
	city *getcity(short n);		//取第n个城市指针
};

#endif

//////////////////////////////////////////////////////////////////////////
//		The End															//
//////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -