航空售票系统+C++课程设计源代码

阅读: 评论:0

#include <string.h>
#include <iostream.h>
#define M 5//每种飞机票的总数目
#define N 3//飞机票的总数目
class Plane
{private:
    char name[40];//终点站名
    int number;//航班号
    int Number;//飞机号
    int week;//星期几飞行
    int day;//日期
    int left;//余票额
    int n;//与数组flag一起确定客户订票状态
public:   
    int flag[20];//订票状态数组,-1狼牙山五壮士的故事为预订票,1为已定票,0为初始化状态
    Plane()//构造函数
    {
        name[0]='\0';
        number=0;
        Number=0;
        week=0;
        day=0;
        left=M;
        n=0;//数组从0开始计数       
        for(int i=0;i<20;i++)
            flag[i]=0;
    }
    void init()//初始化每种飞机票
    {
        cout<<"输入终点站名:";
        cin>>name;
        cout<<"请输入航班号:";
        cin>>number;
        cout<<"请输入飞机号:";
        cin>>Number;
        cout<<"请输入星期几飞行:";
        cin>>week;
        cout<<"请输入航班的日期:";
        cin>>day;
    }
    ~Plane(){};//析构函数
    char *getname(){return name;}//获得终点站名
    int getnumber(){return number;}//获得航班号
    int getNumber(){return Number;}//获得飞机号
    int getweek(){return week;}//获得星期几飞行
    int getday(){return day;}//获得日期   
    int getleft(){return left;}//获得余票额
    int getn(){return n;}//获得旅客数目
    void inleft(int n){left=left+n;}//余票额增加函数
    void deleft(int n){left=left-n;}//余票额减少函数
    void inn(){n++;}//旅客数目增加函数
};
Plane pl[N];携程
int showmenu();//菜单函数
void start();//初始化函数
void query();//查询函数
void make();//订票函数
void back();//退票函数
int main()
{
    cout<<"这是民航售票处的计算机系统程序"<<endl;
    start();
    while(1)
    {
        int choice;
        choice=showmenu();
        switch(choice)
        {
        case 1:query();break;
        case 2:make();break;
        case 3:back();break;
        case 0:return 0;
        default:cout<<"你敲错了!\n";
        }
    }
    return 0;
}
int showmenu()
{
    int ch;
    cout<<endl;
    cout<<"请选择你要执行的功能"<<endl;
    cout<<"1:查询航线"<<endl;
    cout<<"2:承办订票业务空中草原自驾游"<<endl;
    cout<<"3:承办退票业务"<<endl;
    cout<<"0:退出程序的运行"<<endl;
    cin>>ch;
    return ch;
}
void start()
{
    for(int i=0;i<N;i++)
    {
        pl[i].init();
        cout<<endl;
    }
}
void query()
{
    int i,num=0;
    char name[40];
    cout<<endl;
    cout<<"请输入终点站名:";
    cin>>name;
    for(i=0;i<=N;i++)
        if(strcmp(name,pl[i].getname())==0)
        {
            num++;
            cout<<"陕西旅游景点分布图航班号:"<<pl[i].getnumber()<<endl;
            cout<<"飞机号:"<<pl[i].getNumber()<<endl;
            cout<<"星期:"<<pl[i].getweek()<<"飞行"<<endl;
            cout<<"航班日期:"<<pl[i].getday()<<endl;
            cout<<"余票额:"<<pl[i].getleft()<<endl;
            break;
        }
        if(num==0)
            cout<<"没有此航班二年级课文《日月潭》"<<endl;
}
void make()
{
    int number,n,sitnumber,nu,ch,num=0;
    cout<<"请输入航班号:";
    cin>>number;
    cout<<"请输入订票数额:";
    cin>>n;
    for(int i=0;i<N;i++)
        if(number==pl[i].getnumber())
        {
            num++;
            if(n<=pl[i].getleft())
            {
                cout<<"此航班有票"<<endl;
                pl[i].deleft(n);
湛江好玩的景点排名榜                pl[i].inn();
                pl[i].flag[pl[i].getn()]=1;
                for(i=0;i<n;i++)
                {
                    cout<<"座位号";
                    cin>>sitnumber;
                }
            }
            else
            {
                cout<<"余票额少于订票额,请重新输入订票数额,"<<"订票数额应该少于或等于"<<pl[i].getleft();
                cin>>nu;
                if(nu<=pl[i].getleft())
                {
                    cout<<"此航班有票"<<endl;
                    pl[i].deleft(nu);
                    pl[i].inn();
                    pl[i].flag[pl[i].getn()]=1;
                    for(i=0;i<N;i++)
                    {
                        cout<<"座位号";
                        cin>>sitnumber;
                    }
                }
                else
                {
                    cout<<"是否需要预约"<<endl;
                    cout<<"(1)  (2)"<<endl;
                    cin>>ch;
                    switch(ch)
                    {
                    case 1:pl[i].inn();pl[i].flag[pl[i].getn()]=-1;break;
                    case 2:break;
                    default:cout<<"你敲错了!"<<endl;
                    }
                }
            }
        }
        if(num==0)
            cout<<"没有此航班"<<endl;
}
void back()
{
    int number,day,n,nu,sitnumber,num=0;//航班号,日期,退票数目,订票数目,座位号,标志量
    cout<<"请输入日期:";
    cin>>day;
    cout<<"请输入航班:";
    cin>>number;
    for(int i=0;i<N;i++)
        if((day==pl[i].getday())&&(number==pl[i].getnumber()))//日期与航班是否满足
        {
            num++;//日期与航班满足
            cout<<"输入退票数目";
            cin>>n;
            cout<<"退票成功"<<endl;
            pl[i].inleft(n);//该种飞机票增加,即已退票
            for(int j=0;j<=pl[i].getn();j++)//顺序查询客户订票状态
            {
                if(pl[i].flag[j]==-1)//客户是否为预定状态
                {
                    cout<<"有预约订票,请输入订票数额:";
                    cin>>nu;
                    if(nu<=pl[i].getleft())//余票额是否满足要求
                    {
                        cout<<"此航班有票"<<endl;
                        pl[i].flag[j]=1;
                        cout<<"订票成功"<<endl;
                        pl[i].deleft(nu);
                        for(int k=0;k<nu;k++)
                        {                           
                            cout<<"座位号"<<" ";
                            cin>>sitnumber;
                        }
                        cout<<"余票额为"<<pl[i].getleft()<<endl;
                    }
                }
                else
                    cout<<"没有预约订票!"<<"余票额为"<<pl[i].getleft()<<endl;
            }
        }
        if(num==0)
            cout<<"没有此票"<<endl;
}

本文发布于:2023-09-11 14:31:54,感谢您对本站的认可!

本文链接:http://www.035400.com/whly/3/617345.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:订票   数目   输入   状态   函数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2024-2030 Comsenz Inc.Powered by © 文化旅游网 滇ICP备2022007236号-403 联系QQ:1103060800网站地图