• 大小: 131KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签:

资源简介

航班订票系统:航空客运订票的业务活动包括查询航线、客票预定和办理退票等,设计航班信息、订票系统的存储结构,完成下面基本要求 基本要求 (1) 每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日期(具体时间)、成员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量) (2) 要求数据等存放在文件中 (3) 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) (4) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); (5) 可以输入起飞抵达城市,查询飞机航班情况; (6) 订票:(订票情况可以存在一个数据文件中,结构自己设定),可以订票,如果该航班已经无票,可以提供相关可选择航班;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补; (7) 退票:可退票,退票后修改相关数据文件;然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为它办理订票手续,否则依次询问其他排队候补的客户 (8) 修改航班信息:当航班信息改变可以修改航班数据文件

资源截图

代码片段和文件信息

#include
#include
#include

struct Plane      //定义航班结构体
{   int num;     //航班号
    char Sday[20];//起飞日期
char Stime[50];//起飞时间
char Etime[50];//抵达时间
char Start[50];//起点
char Ends[50];//终点
float fPricesPricetPrice;//价格
float Discount;//折扣
int Msum;   //该航班最多载人数
int fsum;//1级舱位准载人数
int ssum;//2级舱位准载人数
int tsum;//3级舱位准载人数
Plane *next;
};

Plane *Phead=NULL;
FILE *fp;   //定义文件型指针变量
void main();
void fn();  //航班信息函数

Plane * PCreate()//创建航线上的航班链表
{
int k=1;
Plane * ps;
Plane * pEnd;
ps=new Plane;//新链表->ps
    cout<<“请输入航班号:“;
    cin>>ps->num;
cout<<“请输入起飞日期:“;
    cin>>ps->Sday;
cout<<“起飞的时间:“;
cin >>ps->Stime;
cout<<“抵达的时间:“;
cin>>ps->Etime;
    cout<<“起点:“;
cin>>ps->Start;
    cout<<“终点:“;
cin>>ps->Ends;
cout<<“1级舱位现票价:“;
cin>>ps->fPrice;
cout<<“2级舱位现票价:“;
cin>>ps->sPrice;
cout<<“3级舱位现票价:“;
cin>>ps->tPrice;
cout<<“该票价的折扣:“;
cin>>ps->Discount;
cout<<“准载人数:“;
cin>>ps->Msum;
    cout<<“1级舱位准载人数:“;
cin>>ps->fsum;
cout<<“2级舱位准载人数:“;
cin>>ps->ssum;
ps->tsum=ps->Msum-ps->fsum-ps->ssum;
    cout<    pEnd=ps;//起始地址->终点地址
while(ps->num!=0)
{

if(Phead==NULL)
Phead=ps;
else
pEnd->next=ps;
pEnd=ps;
ps=new Plane;

cout<<“航班号(输入0结束):“;
cin>>ps->num;
}
    pEnd->next=NULL;
    return Phead;
}


void save(Plane * head1) //保存信息
{
if((fp=fopen(“fly1.txt““ab“))==NULL)  //向二进制文件尾增加数据
{
return;
}
        for(;head1;head1=head1->next)
        fwrite(head1sizeof(Plane)1fp);  //写入数据
        fclose(fp);
}


void  hangxian() //航线
{
   Plane * head1=PCreate();
    save(head1);
}

void watchP()//功能3:查看全部航班信息
{
Plane *tail *temp=new Plane;
    Phead=tail=NULL;
int flag=1;
if((fp=fopen(“fly1.txt““rb“))==NULL)   //为输入打开一个二进制文件
{
        printf(“出错请检查文件是否存在按任意键返回住菜单\n“);//出错提示
        main();
}

    while((fread(tempsizeof(struct Plane)1fp))==1)
{
if(Phead==NULL){Phead=tail=temp;Phead->next=NULL;}
else
{
temp->next=NULL;
tail->next=temp;
tail=temp;
}
cout<        cout<<“你要查看的信息如下:“<        cout<<““< cout<<“航班号:“<num< cout<<“起飞日期:“<Sday< cout<<“起飞时间:“<Stime< cout<<“抵达时间:“<Etime<        cout<<“起点站:“<Start<        cout<<“终点站:“<Ends< cout<<“1级舱位票价:“<fPrice< cout<<“2级舱位票价:“<sPrice< cout<<“3级舱位票价:“<tPrice< cout<<“票的折扣“<Discount< cout<<“准载人数:“<Msum< cout<<“1级舱位准载人数:“<fsum< cout<<“2级舱位准载人数:“<ssum< cout<<“3级舱位准载人数:“<tsum<        cout<<““< temp=new Plane;
}
delete tailtemp;
fclose(fp);
cout<<“谢谢使用!退出!“<}

void  search_num()   //航班号查找
{
int num;
int k=1;

Plane*tail *temp=new Plane;
    Phead=NULL;
if((fp=fopen(“fly1.txt““rb“))==NULL)
{
        printf

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     270336  2009-10-15 09:58  200730893024\2007唐.doc

     文件        260  2009-09-03 15:31  200730893024\程序\fly1.txt

     文件        100  2009-09-03 15:37  200730893024\程序\fly2.txt

     文件      14301  2009-09-03 15:36  200730893024\程序\t.cpp

     目录          0  2009-10-15 09:59  200730893024\程序

     目录          0  2009-10-15 09:58  200730893024

----------- ---------  ---------- -----  ----

               284997                    6


评论

共有 条评论

相关资源