iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >如何使用C++实现航空订票系统课程
  • 373
分享到

如何使用C++实现航空订票系统课程

2023-06-29 11:06:45 373人浏览 泡泡鱼
摘要

这篇文章主要介绍如何使用c++实现航空订票系统课程,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下一、题目1.录入功能可以录入航班信息(如航班号,起飞降落时间,城市,座位数,票价)2.查询功能可以查询航班的

这篇文章主要介绍如何使用c++实现航空订票系统课程,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

具体内容如下

一、题目

1.录入功能

可以录入航班信息(如航班号,起飞降落时间,城市,座位数,票价)

2.查询功能

可以查询航班的各项信息(如根据航班号,起飞降落城市查找航班并显示航班信息)

3.修改删除功能

可以修改删除航班的信息

4.追加航线

在原本的航线之后可以继续添加航线方便操作

5.订票功能

可以订票并且记录下乘客的相关信息(如姓名,身份证号码)

6.退票功能

可以退票并且记录乘客的相关信息以及退票信息

二、代码

#include<iOStream>#include<fstream>#include<stdlib.h>#include<string.h>using namespace std;typedef struct node{    int hangbanhao;//航班号    char qifeichengshi[10];//起飞城市    char jiangluochengshi[10];//降落城市    char qifeishijian[10];//起飞时间    char jiangluoshijian[10];//降落时间    int zuoweishu;//座位数    int piaojia;//票价    struct Node *next;//结点的指针域}LNode,*LinkList;//定义航班信息 LinkList为指向结构体LNode的指针类型typedef struct CK{  char name[10];//乘客姓名  char id[18];//乘客身份证号  struct CK *next;//结点的指针域}ck,*cke;//乘客信息void import(int n,LinkList &L)//录入航班函数: n为所要录入航班的数量:{//建立一个带头结点的单链表L    L=(LinkList)malloc(sizeof(LNode));//申请表空间    L->next=NULL;//头结点的指针域置空    LNode * tail=L;//将尾赋给尾指针,等价LinkList tail=L;    for(int i=0; i<n; i++)//逐个赋值     {        LNode *p=(LinkList)malloc(sizeof(LNode));//创建一个p结点        cout<<"请输入第"<<i+1<<"个航班的航班号 ";        cin>>p->hangbanhao;        cout<<"请输入第"<<i+1<<"个航班的起飞城市 ";        cin>>p->qifeichengshi;        cout<<"请输入第"<<i+1<<"个航班的降落城市 ";        cin>>p->jiangluochengshi;        cout<<"请输入第"<<i+1<<"个航班的起飞时间 ";        cin>>p->qifeishijian;        cout<<"请输入第"<<i+1<<"个航班的降落时间 ";        cin>>p->jiangluoshijian;        cout<<"请输入第"<<i+1<<"个航班的座位数 ";        cin>>p->zuoweishu;        cout<<"请输入第"<<i+1<<"个航班的票价";        cin>>p->piaojia;        p->next=NULL;//头结点的指针域置空        tail->next=p;//将新结点插入尾部        tail=p;//插入的结点变为尾结点,尾插法    }}//写入本地文件,并读取输出显示void show_L(LinkList &L)//输出浏览机票信息{  ofstream out("out.txt");//实例化一个对象   if (out.is_open())   {      LinkList p=L->next;      while(p)      {        out<<"航班号:";        out<<p->hangbanhao;        out<<" 起飞城市:";        out <<p->qifeichengshi;        out<<" 降落城市:";        out <<p->jiangluochengshi;        out<<" 起飞时间:";        out <<p->qifeishijian;        out<<" 降落时间:";        out <<p->jiangluoshijian;        out<<" 座位数:";        out<<p->zuoweishu;        out<<" 票价:";        out<<p->piaojia;        out<< "\n";//用于换行,是下面in.getline的关键        p=p->next;      }  }   out.close(); //写完    char buffer[256];    ifstream in("out.txt");    if (! in.is_open())       { cout << "Error opening file"; exit (1); }       while (!in.eof() )       {           in.getline (buffer,100);           cout << buffer << endl;       }}//按航班号查找LinkList GetElem_L(LinkList &L,int e){      LinkList p=L->next;      while(p)      {        if(p->hangbanhao!=e)            p=p->next;        else return p;      }     return 0;}//按航班起降城市查找LinkList GetElem_Lc(LinkList &L,char qi[10],char ji[10]){      LinkList p=L->next;      while(p)      {        if(strcmp(p->qifeichengshi,qi)!=0||strcmp(p->jiangluochengshi,ji)!=0)            p=p->next;        else return p;      }      return 0;}//删除int ListDelete_L(LinkList &L,int e){    LinkList p=L;    while(p->next&&p->next->hangbanhao!=e){        p=p->next;//直到查找到要删除的结点    }    if(!p->next)        return 0;    LinkList q=p->next;    p->next=q->next;//p->next=p->next->next;    free(q);//本题q是需要删除的结点    return 1;}//插入int ListInsert_L(LinkList &L,int i){    LinkList p=L;//i为插入的位置    int j=0;    while(p&&j<i-1){        p=p->next;        ++j;    }    if(!p||j>i-1)        return 0;    LNode *s=(LinkList)malloc(sizeof(LNode));    cout<<"输入航班号:";    cin>>s->hangbanhao;    cout<<"输入起飞城市:";    cin>>s->qifeichengshi;    cout<<"输入降落城市:";    cin>>s->jiangluochengshi;    cout<<"输入起飞时间:";    cin>>s->qifeishijian;    cout<<"输入降落时间:";    cin>>s->jiangluoshijian;    cout<<"输入座位数:";    cin>>s->zuoweishu;    cout<<"输入票价:";    cin>>s->piaojia;    s->next=p->next;    p->next=s;//s->next=p->next;p->next=s;    return 1;}//修改LinkList xiugai(LinkList &L,int yxg){  LinkList q=L->next;      while(q)      {        if(q->hangbanhao!=yxg)            q=q->next;        else return q;      }  return 0;}//乘客信息录入void importren(int n,cke &C)//录入航班函数: n为所要录入航班的数量:{    C=(cke)malloc(sizeof(ck));    C->next=NULL;    ck*ta=C;    for(int i=0; i<n; i++)     {        ck *p=(cke)malloc(sizeof(ck));//就是创建一个p结点,关键就是写法,LNdoe *p;        cout<<"请输入第"<<i+1<<"个乘客的姓名 ";        cin>>p->name;        cout<<"请输入第"<<i+1<<"个航班的身份证ID ";        cin>>p->id;         p->next=NULL;        ta->next=p;        ta=p;//尾插法,根据循环画图可知,tail指针始终在最后    }}//订票乘客信息和航班信息写入本地和读取void show_dp(cke &C,LinkList &R){  ofstream out("dinpiao.txt");//实例化一个对象   if (out.is_open())   {      cke p=C->next;      while(p){        out<<"姓名 ";        out<<p->name;        out<<"  身份证ID ";        out<<p->id;        out<< "\n";//用于换行,是下面in.getline的关键        p=p->next;      }      if(R->zuoweishu-1>=0)      {       out<<"航班号:"<<R->hangbanhao;       out<<" 起飞城市:"<<R->qifeichengshi;       out<<" 降落城市:"<<R->jiangluochengshi;       out<<" 起飞时间:"<<R->qifeishijian;       out<<" 降落时间:"<<R->jiangluoshijian;       out<<" 座位数:"<<R->zuoweishu-1;//订票之后座位数减一       out<<" 票价:"<<R->piaojia;       out<< "\n";//用于换行,是下面in.getline的关键       out<<"订票成功";       out<< "\n";//用于换行,是下面in.getline的关键      }      else      {        out<<"航班号:"<<R->hangbanhao;        out<<" 起飞城市:"<<R->qifeichengshi;        out<<" 降落城市:"<<R->jiangluochengshi;        out<<" 起飞时间:"<<R->qifeishijian;        out<<" 降落时间:"<<R->jiangluoshijian;        out<<" 座位数:"<<R->zuoweishu;        out<<" 票价:"<<R->piaojia;        out<< "\n";//用于换行,是下面in.getline的关键        out<<"该航班暂无票,请选择其他航班";        out<< "\n";//用于换行,是下面in.getline的关键      }   }   out.close(); //写完    char buffer[256];    ifstream in("dinpiao.txt");    if (! in.is_open())       { cout << "Error opening file"; exit (1); }       while (!in.eof() )       {           in.getline (buffer,100);           cout << buffer << endl;       }}//退票乘客信息和航班信息写入本地和读取void show_tp(cke &C,LinkList &R){  ofstream out("dinpiao.txt");//实例化一个对象   if (out.is_open())   {      cke p=C->next;      while(p){        out<<"姓名 ";        out<<p->name;        out<<"身份证ID ";        out<<p->id;        out<< "\n";//用于换行,是下面in.getline的关键        p=p->next;      }      out<<"航班号 "<<R->hangbanhao;      out<<" 起飞城市:"<<R->qifeichengshi;      out<<" 降落城市:"<<R->jiangluochengshi;      out<<" 起飞时间:"<<R->qifeishijian;      out<<" 降落时间:"<<R->jiangluoshijian;      out<<" 座位数:"<<R->zuoweishu;//退票之后不需要加1,用最初的座位数;      out<<" 票价:"<<R->piaojia;      out<< "\n";//用于换行,是下面in.getline的关键      out<<"退票成功";      out<< "\n";//用于换行,是下面in.getline的关键   }   out.close(); //写完    char buffer[256];    ifstream in("dinpiao.txt");    if (! in.is_open())       { cout << "Error opening file"; exit (1); }       while (!in.eof() )       {           in.getline (buffer,100);           cout << buffer << endl;       }}void menu()//显示菜单界面{    cout<<"=================================欢迎使用航空订票系统==============================="<<endl;    cout<<"*                                1请先录入航班信息                                 *"<<endl;    cout<<"*                                2根据航班号查找航班                               *"<<endl;    cout<<"*                                3根据起降城市查找航班                             *"<<endl;    cout<<"*                                4删除航班                                         *"<<endl;    cout<<"*                                5插入航班                                         *"<<endl;    cout<<"*                                6修改航班                                         *"<<endl;    cout<<"*                                7订票录入乘客信息                                 *"<<endl;    cout<<"*                                8退票                                             *"<<endl;    cout<<"===================================================================================="<<endl;}int main(){   LinkList L;//L是指针 航班   cke C;//乘客    while(1)    {      menu();      int caozuo;      cout<<"请选择操作";      cin>>caozuo;      switch(caozuo)      {    case 1://创建      int num;      cout<<"请输入要录入的航班数:";      cin>>num;      cout<<endl;      import(num,L);//录入航班函数: n为所要录入航班的数量:      cout<<endl;      cout<<"航班信息录入成功";      cout<<endl<<endl;//写入本地文件,并读取输出显示      show_L(L);      break;    case 2://根据航班号查找      int dchbh;//根据航班号查找       printf("请输入待查航班号:");      cin>>dchbh;      LinkList p;      p=GetElem_L(L,dchbh);//查找      cout<<"待查航班为:";      cout<<"航班号:"<<p->hangbanhao;      cout<<" 起飞城市:"<<p->qifeichengshi;      cout<<" 降落城市:"<<p->jiangluochengshi;      cout<<" 起飞时间:"<<p->qifeishijian;      cout<<" 降落时间:"<<p->jiangluoshijian;      cout<<" 座位数:"<<p->zuoweishu;      cout<<" 票价:"<<p->piaojia;      cout<<endl<<endl;      break;    case 3://根据起降城市查找       char qi[10];       char ji[10];       printf("请输入待查航班起降城市:");       cout<<"输入起飞城市:";       cin>>qi;       cout<<"输入降落城市:";       cin>>ji;       LinkList J;       J=GetElem_Lc(L,qi,ji);//查找       cout<<"待查航班为:";       cout<<"航班号:"<<J->hangbanhao;       cout<<" 起飞城市:"<<J->qifeichengshi;       cout<<" 降落城市:"<<J->jiangluochengshi;       cout<<" 起飞时间:"<<J->qifeishijian;       cout<<" 降落时间:"<<J->jiangluoshijian;       cout<<" 座位数:"<<J->zuoweishu;       cout<<" 票价:"<<J->piaojia;       cout<<endl<<endl;       break;    case 4://删除      int shanchu;      printf("请输入要删除的航班号:");      scanf("%d",&shanchu);      ListDelete_L(L,shanchu);//删除      show_L(L);      cout<<endl<<endl;      break;    case 5://插入   //这里位置始终在第一行      ListInsert_L(L,1);//插入      show_L(L);      cout<<endl<<endl;      break;    case 6://修改      printf("请输入要修改的航班号:");      int yxg;      cin>>yxg;      LinkList q;      q=xiugai(L,yxg);//修改      cout<<"航班号修改为:";      cin>>q->hangbanhao;      cout<<"航班起飞城市修改为:";      cin>>q->qifeichengshi;      cout<<"航班降落城市修改为:";      cin>>q->jiangluochengshi;      cout<<"航班起飞时间修改为:";      cin>>q->qifeishijian;      cout<<"航班降落时间修改为:";      cin>>q->jiangluoshijian;      cout<<"航班座位数修改为:";      cin>>q->zuoweishu;      cout<<"航班票价修改为:";      cin>>q->piaojia;      show_L(L);      cout<<endl<<endl;      break;    case 7://订票      int renshu;      cout<<"请选择您要订票的人数:";      cin>>renshu;      cout<<endl;      importren(renshu,C);//录入乘客信息      cout<<endl;      cout<<"乘客信息录入成功";      cout<<endl;      int m;      cout<<"请输入您要订的航班号:";      cin>>m;      cout<<endl<<endl;      LinkList R;      R=GetElem_L(L,m);//查找乘客订的航班      show_dp(C,R);//写入本地文件,并读取输出显示      cout<<endl<<endl;      break;    case 8://退票     cout<<"请输入您要退票的航班号:";     int yt;     cin>>yt;     cout<<endl<<endl;     LinkList K;     K=GetElem_L(L,yt);//查找乘客订的航班     show_tp(C,K);//写入本地文件,并读取输出显示     cout<<endl<<endl;     break;      }//swith的大括号    }//while的大括号  return 0;}//主函数的大括号

三、运行结果

录入航班信息

如何使用C++实现航空订票系统课程

查找航班(根据航班号、起降城市查找航班)

如何使用C++实现航空订票系统课程

删除航班

如何使用C++实现航空订票系统课程

插入航班

如何使用C++实现航空订票系统课程

修改航班

如何使用C++实现航空订票系统课程

订票、退票

如何使用C++实现航空订票系统课程

以上是“如何使用C++实现航空订票系统课程”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网其他教程频道!

--结束END--

本文标题: 如何使用C++实现航空订票系统课程

本文链接: https://www.lsjlt.com/news/324679.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用C++实现航空订票系统课程
    这篇文章主要介绍如何使用C++实现航空订票系统课程,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下一、题目1.录入功能可以录入航班信息(如航班号,起飞降落时间,城市,座位数,票价)2.查询功能可以查询航班的...
    99+
    2023-06-29
  • C++实现航空订票系统课程设计
    本文实例为大家分享了C++实现航空订票系统的具体代码,供大家参考,具体内容如下 一、题目 1.录入功能 可以录入航班信息(如航班号,起飞降落时间,城市,座位数,票价) 2.查询功能 ...
    99+
    2024-04-02
  • C语言实现航空订票系统课程设计
    本文实例为大家分享了C语言实现航空订票系统的具体代码,供大家参考,具体内容如下 大一写的时候没有写注释,后来也懒得加了。在这里说一下读写文件的思路吧。 就是利用二进制将一整个结构体中...
    99+
    2024-04-02
  • C语言如何实现航空订票系统
    本篇内容介绍了“C语言如何实现航空订票系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!利用二进制将一整个结构体中的数据存入文件,然后读取文...
    99+
    2023-06-29
  • 如何使用C++实现飞机订票系统
    小编给大家分享一下如何使用C++实现飞机订票系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下// 飞机订票系统.cpp :&nb...
    99+
    2023-06-29
  • 如何使用C语言实现飞机订票系统
    这篇文章主要介绍了如何使用C语言实现飞机订票系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用C语言实现飞机订票系统文章都会有所收获,下面我们一起来看看吧。总体设计和需求分析设计目的怎样去合理的设计一个...
    99+
    2023-07-02
  • C#如何实现航班预订系统
    本篇内容介绍了“C#如何实现航班预订系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!连接数据库using System;usin...
    99+
    2023-06-30
  • C++实现飞机订票系统
    本文实例为大家分享了C++实现飞机订票系统的具体代码,供大家参考,具体内容如下 // 飞机订票系统.cpp : 定义控制台应用程序的入口点。 // #include "stdafx...
    99+
    2024-04-02
  • C#实现航班预订系统
    本文实例为大家分享了C#实现航班预订的具体代码,供大家参考,具体内容如下 连接数据库 using System; using System.Collections.Generic; ...
    99+
    2024-04-02
  • C语言实现火车订票系统
    本文实例为大家分享了C语言实现火车订票系统的具体代码,供大家参考,具体内容如下 程序介绍 1.运行程序时,首先进入到菜单部分,菜单部分提供了菜单显示和输入功能部分。其运行效果如图所示...
    99+
    2022-11-13
    C语言火车订票系统 C语言火车订票 C语言订票系统
  • Java如何实现电影院订票系统
    小编给大家分享一下Java如何实现电影院订票系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势。。。但是由于时间原因,小编并未在代码中添加可...
    99+
    2023-05-30
    java
  • 如何利用C++实现一个简单的飞机订票系统?
    如何利用C++实现一个简单的飞机订票系统?随着空中交通的发展和人们对舒适旅行的需求增加,飞机订票系统变得越来越重要。在这篇文章中,我们将学习如何利用C++编程语言来实现一个简单的飞机订票系统。这个系统将允许用户查询航班信息、选择座位、预订和...
    99+
    2023-11-02
    C++ 飞机 订票系统
  • 利用Python实现电影订票系统
    目录一、效果展示二、整体结构图 三、代码分解3.1infos.py 3.2seat_book.py3.3film_selector.py3.4main....
    99+
    2024-04-02
  • 如何利用C++实现一个简单的火车票订购系统?
    随着人们工作和生活方式的变化,越来越多的人选择乘坐火车出行。因此,实现一个简单的火车票订购系统可以方便用户预订车票,同时也可以提高工作效率,减少人力投入。本文将介绍如何使用C++实现一个简单的火车票订购系统,以方便读者学习和实践。一、需求分...
    99+
    2023-11-03
    C++ 火车票 订购系统
  • Java中如何实现一个航空航班管理系统
    Java中如何实现一个航空航班管理系统,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Plane对象:在Plane对象里定义了飞机的编号id、航班号、目的地、起飞...
    99+
    2023-06-20
  • C语言实现飞机订票系统的完整代码
    目录题目总体设计和需求分析设计目的总体设计和功能结构体设计机票信息结构体主函数的设计各功能代码的实现前置添加机票查找机票信息修改机票信息显示机票信息推荐机票信息订票退票保存信息显示时...
    99+
    2024-04-02
  • java实现航空用户管理系统
    本文实例为大家分享了java实现航空用户管理系统的具体代码,供大家参考,具体内容如下 题目内容: 某航空公司在其航班到达的不同的国家的不同地方设有不同的办事处,这个项目要求开发一个自...
    99+
    2024-04-02
  • 基于JSP微信小程序汽车票订票售票系统设计与实现
    第1步(数据库操作):     导入sql数据库 第2步(网站发布):     使用ideal导入管理系统     设置根目录下 conn.jsp的数据库连接 和 网址地址(小程序使用)     运行站点,登录后台测试 第3步(小程序发布...
    99+
    2023-08-31
    微信小程序 小程序
  • C语言如何实现车票管理系统
    今天小编给大家分享一下C语言如何实现车票管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、项目简介设计一个车票管理系...
    99+
    2023-06-30
  • 旅游景区订票小程序系统设计与实现
        项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序景区景点预约购票系统,前台用户使用小程序,后台管理使用Java+Mysql开发,后台使用了springboot框架;通过后台添加景区资讯、景点介绍,管理用户...
    99+
    2023-09-02
    小程序 旅游 微信小程序 景区订票小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作