}
Flight f; top=-1;
fstream file(\文件打开 while(1) {
file.read((char *)&f,sizeof(f)); if(!file) break; top++;
Fl[top]=f; }
file.close();
void clear() //清楚所有航班的操作 {
top=-1;
cout<<\航班信息已删除!\}
int addplane(int n,int m,char *de) //增加飞机 {
Flight *fl=query(n); if(fl==NULL) {
top++;
Fl[top].addplane(n,m,de); return 1; }
return 0; }
Flight *query(int pflightnum) //对象指针 用于查找等操作 {
for(int i=0;i<=top;i++)
if(Fl[i].getflightnum()==pflightnum && Fl[i].getnote()==0) return &Fl[i]; return NULL; }
Flight *query1(int pplanenum) {
for(int i=0;i<=top;i++)
if(Fl[i].getplanenum()==pplanenum && Fl[i].getnote()==0) return &Fl[i]; return NULL; }
void list() {
for(int i=0;i<=top;i++) if(Fl[i].getnote()==0) Fl[i].list(); }
void planedata(); ~FDatabase() {
fstream file(\ for(int i=0;i<=top;i++) if(Fl[i].getnote()==0)
file.write((char *)& Fl[i],sizeof(Fl[i])); file.close(); } };
void FDatabase::planedata() //飞机管理系统界面的实现 {
int choice=1;
char destiname[20]; int pflightnum; int pplanenum; Flight *r;
system(\ while(choice!=0) {
cout<<\航线信息管理*****************\ cout<<\★ 1:新增航线 ★\ cout<<\★ 2:更改航线 ★\ cout<<\★ 3:删除航线 ★\ cout<<\★ 4:查找航线 ★\ cout<<\★ 5:显示所有航线 ★\ cout<<\★ 6:删除所有航线 ★\ cout<<\★ 0:退出 ★\
cout<<\ cout<<\请输入\
cin>>choice; switch(choice) {
case 1:
cout<<\请输入飞机号:\ cin>>pplanenum;
cout<<\请输入航班号:\ cin>>pflightnum;
cout<<\请输入目的地:\ cin>>destiname;
addplane(pplanenum,pflightnum,destiname);
cout<<\添加成功\
break; case 2:
cout<<\请输入飞机号:\ cin>>pplanenum;
r=query1(pplanenum); if(r==NULL) {
cout<<\该飞机不存在\ break; }
cout<<\请输入飞机目的地:\ cin>>destiname;
r->setname(destiname);
break; case 3:
cout<<\请输入飞机号:\ cin>>pplanenum;
r=query1(pplanenum); if(r==NULL) {
cout<<\无此飞机的信息!\ break; }
r->delplane();
cout<<\已成功删除此飞机信息\ top--;
break; case 4:
cout<<\请输入航班号:\ cin>>pflightnum;
r=query(pflightnum); if(r==NULL) {
cout<<\该航班不存在\ break; }
r->list();
break; case 5:
if(top<0)
cout<<\没有航班信息,请进行新增航班操作!\ cout< list(); cout< break; case 6: clear(); break; } } system(\刷屏 } class PDatabase //乘客信息库类 { private: int top; Passenger passer[Maxb]; public: PDatabase() { Passenger p; top=-1; fstream file(\ while(1) { file.read((char *)&p,sizeof(p)); if(!file) break; top++; passer[top]=p; } file.close(); } void settop() { top--; } void clear() { top=-1; cout<<\乘客信息删除成功!\ } int addbook(int n,char *na,int id,int seat) { Passenger *s=query(n); if(s==NULL) { top++; passer[top].addbook(n,na,id,seat); return 1; } return 0; } Passenger *query(int id) { for(int i=0;i<=top;i++) if(passer[i].getID()==id && passer[i].getnote()==0) return &passer[i]; return NULL; } Passenger *query1(int seat) { for(int i=0;i<=top;i++) if(passer[i].getseatnum()!=seat && passer[i].getnote()==0) return &passer[i]; else return NULL; } void list() { for(int i=0;i<=top;i++) if(passer[i].getnote()==0) passer[i].list(); } void passengerdata(); ~PDatabase() { fstream file(\ for(int i=0;i<=top;i++) if(passer[i].getnote()==0) file.write((char *)& passer[i],sizeof(passer[i])); file.close(); } }; void PDatabase::passengerdata() { int choice=1,id; int pflightnum; char passengername[20]; Passenger *r;