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

📄 flight.h

📁 这个是用C++开发的系统,我曾经做的一个数据结构的大作业来的,叫航空订票系统.
💻 H
字号:
//flight.h(基类及主要函数名)
#ifndef FLIGHT_H
#define FLIGHT_H

#include<iostream.h>
#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
#include<fstream.h>
struct custom{
	char name[22];//客户名
	int seat;//座位位置
    char*date;//订票日期
	char ID;//等级类别 
	custom *next;
	
};
class airline{       //航班信息
private:
	char*flightnum;  //航班号
	int planenum;    //飞机号
	int hour;        //飞行时间(小时)
	int minute;      //飞行时间(分钟)
	int maxTicket;   //乘员定额
	int restTicket;  //余票额
	int dayofweek;   //星期几代号
	int destination; //终点站代号
	custom*booked;   //已订票客户名单
	custom*rest;     //候补名单
public:
	airline(){      //输入航班信息
		flightnum=new char[];
		puts("flight number:");
		gets(flightnum);
		cout<<"plane number:";
		cin>>planenum;
		cout<<"destination:";
		cin>>destination;
		cout<<"day:";
		cin>>dayofweek;
		cout<<"time(hour):";
		cin>>hour;
		cout<<"time(minute):";
		cin>>minute;
		cout<<"max ticket:";
		cin>>maxTicket;
    	restTicket=maxTicket;
		booked=rest=NULL;
	}
	airline(airline&a){      //带参数构造函数
		flightnum=a.fliprint();
		planenum=a.getplane();
		destination=a.getDes();
		dayofweek=a.getDay();
		hour=a.getHour();
		minute=a.getMin();
		maxTicket=a.max_ticket();
    	restTicket=maxTicket;
		booked=rest=NULL;
	}
	~airline(){
		custom*temp=booked;//清空客户列表
		while(temp!=NULL)
		{ temp=temp->next;
		   delete temp;
		}
	    temp=rest;         //清空候补列表
		while(temp!=NULL)
		{ temp=temp->next;
		   delete temp;
		}
	}
	int getDes(){return destination;}    //返回目的地代号
	int getDay(){return dayofweek;}      //返回飞行日代号
	int getHour(){return hour;}          //返回起飞时间,排序用
	int getMin(){return minute;}         //返回起飞时间,排序用
	int getplane(){return planenum;}     //返回飞机号
	char* fliprint(){return flightnum;}  //返回航班号
	int max_ticket(){return maxTicket;}  //返回总票量
	int rest_ticket(){return restTicket;}//返回余票量
	void set_rest_ticket(int srt){restTicket=srt;}//修改余票量
	void printall(char**i,char**j){      //输出所有信息
		cout<<"flight number:"<<flightnum<<endl<<"plane number:"<<planenum<<endl
			<<"destination:"<<i[destination]<<endl<<"day:"<<j[dayofweek]<<endl
			<<"time:"<<hour<<":"<<minute<<endl<<"rest ticket:"<<restTicket<<endl;
	}
	void Bookticket();//客户信息登记
    void book_wait();//候补登记
	void removeall();//删除客户信息
	void return_ticket();//退票
    void back_up(char**,char**);//补票
};

struct list_node{        //双向链表结点
    list_node*next;
    airline*data;
};
class Hash{              //HASH类
private:
	char**kt1,**kt2;     //关键字表
	list_node**ht;       //HASH表指针
    int keysize;         //最大关键字数
	int maxsize;         //HASH表大小
public:
    Hash(char*[], int size,char*[]);             //导入目的地关键字表
    ~Hash();                                     //析构函数
    bool hash_insert(airline&);                  //插入航班信息
	bool hash_search(int);                       //根据目的地查询
	bool hash_search(int,int);                   //根据目的地及飞行日查询
	airline*hash_find(int,int,int);              //选择航班
    bool hash_remove(int,int,int);               //删除航班信息
	
};

#endif

⌨️ 快捷键说明

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