📄 flight.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 + -