资源简介
1、问题描述:
航空客运订票的业务包括查询航班、客票预订和办理退票等。试设计一个航空客运订票系统,已使上述业务可以借助计算机完成。
2、功能要求:
(1)每条航线所涉及的信息有终点站名、航班号、飞机号、星期几飞行、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级),以及等候补替补的客户名单(包括姓名、所需票量)。
(2)作为示意系统:全部数据可以只放在内存中。
(3)系统能实现的操作和功能如下:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)。
查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞、最近航班的日期和余票量。
承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号。若已满员或者余票数少于订票额,则需重新寻味客户要求,若需要,可登记排队候补。
承办退票业务:根据客户提供的情况(日期、航班)为客户办理退票手续,然后查询该航班是否有人排队等候补。首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。
修改航班信息:当航班信息改变可以修改航班数据文件。
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
int N=0;//定义一个N的全局变量 用来控制动态数组内存的开辟
class Plane
{
private:
char StationName[40];//终点站名
int FlightNumber;//航班号
int PlaneNumber;//飞机号
int Week;//星期几飞
int Day;//日期
int People;//成员定额
int left;//余票额
public:
Plane()//构造函数
{
StationName[0]=‘\0‘;
FlightNumber=0;
PlaneNumber=0;
Week=0;
Day=0;
People=0;
left=0;
}
void start();//初始化函数
void find();//查询函数
void filework();//文件操作提示
void changeMessage();//修改航班信息
void printfMessage();//显示航班信息
void read();//读取文件
void write();//保存文件
void initinaze()//初始化机票
{
cout<<“请输入终点站名: “;
cin>>StationName;
cout<<“请输入航班号: “;
cin>>FlightNumber;
cout<<“请输入飞机号: “;
cin>>PlaneNumber;
cout<<“星期几飞: “;
cin>>Week;
cout<<“飞行日期: “;
cin>>Day;
cout<<“成员定额: “;
cin>>People;
cout<<“余票数目: “;
cin>>left;
}
~Plane() {}; //析构函数
//get函数组 获取信息
char *getStationName()
{
return StationName; //获取终点站名
}
int getPlaneNumber()
{
return PlaneNumber; //获取飞机号
}
int getFlightNumber()
{
return FlightNumber; //获取航班号
}
int getWeek()
{
return Week; //获取星期几飞
}
int getDay()
{
return Day;
}
int getleft()
{
return left;//获取余票数额
}
int getPeople()
{
return People;
}
void inleft(int n)
{
left=left+n; //余票额增加
}
void deleft(int n)
{
left=left-n; //余票额减少
}
// Set函数组 修改信息
void setStationName(char *stationName)
{
strcpy(this->StationNamestationName);
}
void setDay(int day)
{
this->Day=day;
}
void setWeek(int week)
{
this->Week=week;
}
void setPlaneNumber(int PlaneNumber)
{
this->PlaneNumber=PlaneNumber;
}
void setFlightNumber(int FlightNumber)
{
this->FlightNumber=FlightNumber;
}
void setPeople(int people)
{
this->People=people;
}
void setleft(int left)
{
this->left=left;
}
};
Plane *pl;//动态数组指针
Plane p2;//调用成员方法对象
class Person
{
private:
Plane *p;
char PName[40];//姓名
int num;//订票数目
int planenumber;
public:
int day;
int grade;//舱位等级
void book();//订票函数
void back();//退票函数
int buyday;//用户购票日期
int buynumber;//用户购票的航班号
void setPlane(int number)
{
for(int i=0;i {
if(number==pl[i].getFlightNumber())
{
p=pl+i;
}
}
}
int getplanenumber()
{
return planenumber;
}
char *getName()
{
return PName;
}
int getnum()
{
return num;
}
void setPName(ch
相关资源
- 椭圆曲线密码ECC算法实现源码C++
- 基于Qt的2048游戏实现
- 文本编辑器C++代码
- c++课程设计 职工工资管理系统
- 用vc++ mfc 编写的一个网页浏览器
- dev c++ 32位
- 图像处理 逆滤波处理 C/C++语言实现
- vc++ 6.0使用dbghelp.dll生成dmp内存转储文
- C++图形开发库帮助手册EasyX_Help.chm
- VC++(MFC)实现FTP功能(源代码)
- linux 上用C++实现的网络嗅探器
- c/c++实现银行家算法模拟
- C++写的SIS疾病传播模型模拟
- C++实现的旅行商问题
- Oracle OCCI(C++) 连接程序
- C++ NORAD SGP4/SDP4 Implementation
- VC++操作MSChart表格控件,效果不错。
- C++屏幕录制
- 《C++程序设计》 美 Y.Daniel Liang (梁勇
- 自动生成算式的四则运算机器
- C++游戏编程快速入门视频教程 高清不
- C++游戏服务器开发从入门到掌握.txt
- C++入门学习资料
- 郁金香vc++辅助教程合集
- C++高斯白噪声程序
- 用new和delete运算符动态分配内存空间
- 吕鑫-VS2015之C.C++.MFC等完整视频链接
- 数字图像处理原理与实践 基于Visua
- 套接字编程Socketc++实现源码
- c++ socket编程服务端代码!!!
评论
共有 条评论