题目:
- 已知一个航空管理员操作类的数据成员如下:
Class FlightInfo
{
stringNo; //航班号
stringStartCity; //起飞地点
stringEndCity; //降落地点
stringStartDate; //日期
stringStartTime; //起飞时间
stringEndTime; //降落时间
intFirstTicket; //头等舱剩余票数
intFirstPrice; //头等舱价格
intSecondTicket; //经济舱剩余票数
intSecondPrice; //经济价格
public:
…
};
编程要求:
(1)完成这个类的定义,要求:
a. 具有两个参数的构造函数,参数分别为航班号和日期,实现航空管理员对航班的新建、修改、删除等操作;
b. 设置航班起飞的日期和时间、头等舱/经济舱的价格和剩余票数、出发地和目的地、航班号。
(2)定义一个FlightManager类用来管理航班信息,实现增加、编辑、删除航班的供能。
#includeusing namespace std; #include #include #include int sum=0; //记录航班总数 void menu(); //实现菜单功能 class FlightInfo { char No[20]; //航班号 char StartCity[20]; //起飞地点 char EndCity[20]; //降落地点 char StartDate[20]; //日期 char StartTime[20]; //起飞时间 char EndTime[20]; //降落时间 int FirstTicket; //头等舱剩余票数 int FirstPrice; //头等舱价格 int SecondTicket; //经济舱剩余票数 int SecondPrice; //经济舱价格 public: FlightInfo(); //构造函数 void setNo(char _No[20]){strcpy(No,_No);}; void setStartCity(char _StartCity[20]){strcpy(StartCity,_StartCity);}; void setEndCity(char _EndCity[20]){strcpy(EndCity,_EndCity);}; void setStartDate(char _StartDate[20]){strcpy(StartDate,_StartDate);}; void setStartTime(char _StartTime[20]){strcpy(StartTime,_StartTime);}; void setEndime(char _EndTime[20]){strcpy(EndTime,_EndTime);}; void setFirstTicket(int firstTicket){FirstTicket=firstTicket;}; void setFirstPrice(int firstPrice){FirstPrice=firstPrice;}; void setSecondTicket(int secondTicket){SecondTicket=secondTicket;}; void setSecondPrice(int secondPrice){SecondPrice=secondPrice;}; char *getNo(){return No;}; char *getStartCity(){return StartCity;}; char *getEndCity(){return EndCity;}; char *getStartDate(){return StartDate;}; char *getStartTime(){return StartTime;}; char *getEndTime(){return EndTime;}; int getFirstTicket(){return FirstTicket;}; int getFirstPrice(){return FirstPrice;}; int getSecondTicket(){return SecondTicket;}; int getSecondPrice(){return SecondPrice;}; }; FlightInfo::FlightInfo() { cout<<"请输入航班号:"; cin>>No; cin.ignore(); cout<<"请输入航班起飞地点:"; cin>>StartCity; cout<<"请输入航班降落地点:"; cin>>EndCity; cout<<"请输入航班起飞日期:"; cin>>StartDate; cout<<"请输入航班起飞时间:"; cin>>StartTime; cout<<"请输入航班降落时间:"; cin>>EndTime; cout<<"请输入航班头等舱剩余票数:"; cin>>FirstTicket; cout<<"请输入航班头等舱价格:"; cin>>FirstPrice; cout<<"请输入航班经济舱剩余票数:"; cin>>SecondTicket; cout<<"请输入航班经济舱价格:"; cin>>SecondPrice; } FlightInfo *info[100]={NULL}; //空指针 class FlightManager { public: void addFlight(); void editFlight(); void delFlight(); }; void FlightManager::addFlight() //增添航班 { info[sum]=new FlightInfo; sum++; } void FlightManager::editFlight() //编辑航班信息 { char no[20],start_city[20],end_city[20],start_date[20],start_time[20],end_time[20]; int n,num,command,first_ticket,first_price,second_ticket,second_price; cout<<"请输入想编辑的航班号:"; cin>>no; n=sum; for(num=0;num getNo(),no)==0) { n=num; //记录航班 cout<<"请输入您想编辑的航班信息对应的数字:"< >command; switch(command) { case 1: { cout<<"请输入修改后的起飞地点:"< >start_city; info[num]->setStartCity(start_city); break; } case 2: { cout<<"请输入修改后的降落地点:"< >end_city; info[num]->setEndCity(end_city); break; } case 3: { cout<<"请输入修改后的起飞日期:"< >start_date; info[num]->setStartDate(start_date); break; } case 4: { cout<<"请输入修改后的起飞时间:"< >start_time; info[num]->setStartTime(start_time); break; } case 5: { cout<<"请输入修改后的降落时间:"< >end_time; info[num]->setEndime(end_time); break; } case 6: { cout<<"请输入修改后的头等舱剩余票数:"< >first_ticket; info[num]->setFirstTicket(first_ticket); break; } case 7: { cout<<"请输入修改后的头等舱价格:"< >first_price; info[num]->setFirstPrice(first_price); break; } case 8: { cout<<"请输入修改后的经济舱剩余票数:"< >second_ticket; info[num]->setSecondTicket(second_ticket); break; } case 9: { cout<<"请输入修改后的经济舱价格:"< >second_price; info[num]->setSecondPrice(second_price); break; } } } } if(n >no; j=sum; for(num=0;num getNo(),no)==0) { j=num; //记录航班 for(t=num;t >choice; if(choice>=1&&choice<=4) { switch(choice) { case 1:manager.addFlight();break; case 2:manager.editFlight();break; case 3:manager.delFlight();break; case 4:exit(0);break; } } else { cout<<"您输入的数字有误,请重新输入:"<



