这个项目(航班信息管理)怎么做?
好好学习,自己努力!! #include#include#include#include class Plan//航班类{ char num[20];//航班号 char s[20]; //出发站 char e[20]; //到达站 char t[20];//起飞时间 int fee;//票价 int sum;//总票数 int n;//剩余票数 Plan *next;//下个航班public: Plan(){} ~Plan(){} char *getnu(){return num;} void setnu(char *n){strcpy(num,n);} char *gets(){return s;} void sets(char *s){strcpy(this->s,s);} char *gete(){return e;} void sete(char *e){strcpy(this->e,e);} char *gett(){return t;} void sett(char *t){strcpy(this->t,t);} int getf(){return fee;} void setf(int f){fee=f;} int getsu(){return sum;} void setsu(int s){sum=s;} int getn(){return n;} void setn(int n){this->n=n;} Plan *getnext(){return next;} void setnext(Plan*n){next=n;}};class Client//乘客类{ char num[20];//航班号 char name[20]; //乘客姓名 int n;//所购票数 Client *next;public: Client(){} ~Client(){} char *getna(){return name;} void setna(char *n){strcpy(name,n);} char *getnu(){return num;} void setnu(char *n){strcpy(num,n);} int getn(){return n;} void setn(int n){this->n=n;} Client *getnext(){return next;} void setnext(Client*n){next=n;}};class manage//管理类{private: Plan *head1;//航班头指针 Plan *last1; Client *head2;//乘客头指针 Client *last2;public: manage(){} ~manage(){} void ini(); void newf(); void buy(); void show1(); void show2(); void modify(); void del(); void delall(); void baClient(); void query1(); void query2(); void save(); void run();};void manage::ini(){ head1=last1=NULL; head2=last2=NULL; ifstream rf("plane.txt",ios::out|ios::nocreate,filebuf::openprot); if(rf.fail())coutsetnext(NULL); if(head1==NULL)head1=last1=p1; else {last1->setnext(p1);last1=p1;} } coutsetnext(NULL); if(head2==NULL)head2=last2=p2; else {last2->setnext(p2);last2=p2;} } cout>c; p->setnu(c); cout>c; p->sets(c); cout>c; p->sete(c); cout>c; p->sett(c); cout>n;p->setf(n); cout>n;p->setsu(n); p->setn(n); p->setnext(NULL); if(head1){last1->setnext(p);last1=p;} else head1=last1=p; cout>c; int y=1; Plan *p=head1; while(p) { if(strcmp(p->getnu(),c)==0){y=0;break;} p=p->getnext(); } if(y){coutgetn() "setnext(NULL); p1->setnu(c); cout>c; p1->setna(c);loop: cout>n; if(n>p->getn()) { coutsetn(n); p->setn(p->getn()-n); if(head2==NULL)head2=last2=p1; else {last2->setnext(p1); last2=p1;} coutgetn() "getnext(); }}void manage::show2(){ if(head2==NULL){coutgetnext(); }}void manage::modify(){ cout>m; while(p) { if(strcmp(p->getnu(),m)==0) { y=0; cout>m; p->sets(m); cout>m; p->sete(m); cout>m;p->sett(m); cout>n; p->setf(n);loop: cout>n; if(ngetsu()-p->getn()){cout=已售机票数!
";goto loop;} p->setn( n-(p->getsu()-p->getn()) ); p->setsu(n); } p=p->getnext(); } if(y) cout>m; if(strcmp(head1->getnu(),m)==0){ if(head1->getsu()!=head1->getn()){ coutgetnext(); } else while(p->getnext()) { if(strcmp(p->getnext()->getnu(),m)==0) { if(p->getnext()->getsu()!=p->getnext()->getn()){ coutgetnext(); p->setnext(temp->getnext()); break; } p=p->getnext(); } if(y) coutgetnext(); delete p1; p1=temp1; } head1=last1=NULL; Client *p2=head2; while(p2) { Client * temp2=p2->getnext(); delete p2; p2=temp2; } head2=last2=NULL; cout>c; switch (c) { case '1': { int y=1; cout>m; while(p) { if(strcmp(p->gets(),m)==0) {cout "getnext(); } if(y)cout>m; while(p) { if(strcmp(p->gete(),m)==0) {cout "getnext(); } if(y)cout>c; switch (c) { case '1': { Plan *p1=head1; Client *p2=head2; int y1=1,y2=1; cout>m; while(p1) { if(strcmp(p1->getnu(),m)==0) { y1=0;cout "getnext(); } if(y1) coutgetnu(),m)==0) { coutgetnext(); } if(y2)cout>m; while(p2) { if(strcmp(p2->getna(),m)==0) { coutgetnu(),p2->getnu())==0) { y1=0; cout "getnext(); } if(y1) coutgetnext(); } if(y2)cout>m; Plan *p1=head1; while(p1) { if(strcmp(p1->getnu(),m)==0) { y1=0; cout>m; Client *p2=head2; while(p2) { if(strcmp(p2->getna(),m)==0) { y2=0;loop: cout>s; if(p2->getn()setn(p2->getn()-s);p1->setn(p1->getn() s);} } p2=p2->getnext(); } if(y2){coutgetnext(); } if(y1){coutgetnext();} file.write((char*)&n,sizeof(n)); p1=head1; while(p1) { file.write((char*)p1,sizeof(Plan)); p1=p1->getnext(); } coutgetnext();} file.write((char*)&n,sizeof(n)); p2=head2; while(p2) { file.write((char*)p2,sizeof(Client)); p2=p2->getnext(); } cout>c; if(c==1) { cout>c1; switch ( c1 ) { case '1': { char cc1; do{ cout">cc1; switch(cc1) { case '1': show1();break; case '2': show2();break; case '0': break; } }while(cc1!='0'); }break; case '2': buy();break; case '3': baClient();break; case '4': {char cc1; do{ cout">cc1; switch(cc1) { case '1': query1();break; case '2': query2();break; case '0':break; } }while(cc1!='0'); }break; case '5': { char c2; do{ cout">c2; switch (c2) { case '1':newf();break; case '2':modify();break; case '3':del();break; case '0':break; } }while(c2!='0'); }break; case '6': delall();break;} } while(c1!='0'); cout<<"
谢谢您的使用!"; save(); } else ;}void main(){ manage m; m.run();}