数据结构课设之航空订票系统(Java)下载链接在文末

飞机订购票系统(数据库程大作业) 共有4个文件,包括一个主文件,两个次要文件和一个日志文件,主文件w存放在primary文件组中,w1、w2存放在secondary文件组中,日志文件w3初始大小为2mb,每次增长10%,最大为20mb,六张表均存放在secondary文件组中。通过对机票预定业务的调查,明确了飞机订购票系统共包括乘客信息模块,航班信息模块,机票订购模块,机票退票模块以及取票信息模块五个模块。1)建立用户信息表,对于新办理的用户,令其注册,将其信息加入到用户信息表中。表2 hbxx表(航班信息表) 阅读详情

                                   下载链接在文末

题目选择 :航空订票系统

开发语言 :Java

代码编写工具: Eclipse

与数据结构相关知识:队列,栈,KMP匹配算法。

一、设计思路:

     1,首先在项目工程中创建Main Frame.java作为主窗口文件,设置窗口大小为,主题样式,标题栏,窗口图标,并添加到当前窗口中背景以及窗口可见性,之后创建InitGlobalFont方法,该方法设置全局字体的样式和大小。

     2,之后在项目工程中创建MainPanel. Java文件,该文件用于切换界面,首先在该文件中定义一个jpanel,设置为卡片布局,之后将其添加到MainFrame中。

     3,在项目工程中创建FunctionPanel.java类,并将其添加到MainPanel.java的CardLayout中,并通过CardLayout.Show方法设置FunctionPanel为默认显示。在FunctionPanel.java中,创建三个图片按钮,,分别代表航班管理,订票,退票,以及一个退出按钮,并将它们添加点击事件。

    4,在项目工程中创建FunctionPanel.java文件,创建data文件夹,在该文件夹内创建program-icon和program-store文件夹,分别用于存放图标和数据,在program-store文件夹中创建flight.txt文件,写入所有的航班信息,每一行代表一个航班信息。

   5,FunctionPanel.java为航班管理界面,在该文件中,首先创建一个表格table,逐行读取flight.txt的所有信息,将其存入队列中,再从队列弹出将其添加到表格中。创建五个按钮,分别为“添加航班”,“删除航班”,“修改航班”,“刷新”,“返回”,以及一个文本框和搜索按钮。

  • 点击“添加航班”,将弹出添加窗口,在窗口中输入航班信息,点击确定即可将该信息添加到flight.txt文件中,并刷新表格。
  • 选中某表格中的某一条信息,点击“删除航班”,将会获取该行中的航班号,根据该航班号与flight.txt文件进行逐行匹配,匹配成功则将其删除,并刷新表格。
  • 选中某一条信息 点击“修改航班”,过程与删除航班类似,匹配成功后对该行覆盖写入,并刷新表格。
  • 点击“刷新”,会重新读取文件,将其显示在表格中。
  • 点击“返回”,会使MainPanel的CardLayout显示FunctionPanel,即主界面。
  • 在文本框中输入关键词,点击“搜索”按钮,会将从文本框获取的数据与flight.txt进行逐行匹配,将匹配成功的信息存入队列中,之后将队列中的信息输出在表格中。

   6,在项目工程中创建addPanel.java,作为航班订票界面,在该界面中创建一个表格,以及三个按钮,分别为“订票”,“候补乘客”,“返回”,在data/ program-store文件夹中创建book-list.txt,用于存储订单,创建candidata-list.txt文件,用于存储候补乘客。表格中显示当前所有航班,点击某一条信息,点击“订票”,输入乘客信息,数量,如果剩余票充足,则将当前的航班号,乘客信息,数量写入到book-list.txt文件中,并修改light.txt文件的该航班剩余票数。若余票不足,则提示是否列入候该航线的候补名单中。选中某一条航班,点击“候补乘客”,则会读取candidate-list.txt文件,并弹出新窗口以表格的形式显示。点击“返回”,则返回到主界面,点击“搜索”,则会根据输入的关键字和日期与flight.txt中的航班信息进行匹配,将所有匹配成功的信息存入队列中,清空表格,之后将队列中的信息输出在表格中,并以时间先后排序。

   7,在项目工程中创建deletePanel.java,作为航班退票界面,在该界面中创建一个表格,,以及三个按钮,分别为“退票”,“候补乘客”,“返回”,以及一个文本框和“搜索”按钮,表格中显示当前所有订单,选中某一条订单,点击“退票”,则会根据航班号与book-list.txt文件里航班号匹配,匹配成功则删除该订单,并重新统计该航班剩余票量,并将剩余票量写入到flight.txt中。之后检查是否有候补乘客,如果有则将剩余票给与候补乘客,以排队顺序优先,并删除其在候补名单candidate-list的信息。

  8,最后,在FunctionPanel中的点击事件中创建三个判断语句,创建三个标志位为true,当点击事件为searchPanel时,如果标志位为true,则向MainPanel中的CardLayout添加该界面,将标志位置为false,之后显示该界面,其它两个与其相同。

二、需求分析

 1.课程设计目的

    (1).熟练掌握堆队列和栈的原理和应用。

    (2).熟悉Java语言的程序设计与开发,查缺补漏,提高编程能力。

 2.设计任务

     线性表

      本次课程设计使用的线性结构为数组,用于临时存储用户输入的订单信息,退票信息,最后将其写入到文件中。

    特殊线性表

       本次课程设计使用的特殊线性结构为队列,程序中的表格数据通过从文件中读取,将需要的数据临时存储在队列中,在将队列的数据逐条输出到表格中。

    非线性结构

       在本次课程设计中,使用的非线性结构为二叉树,在进行模糊搜索时,通过二叉树遍历数据可提高搜索速度。

     查找和排序

本程序的查找功能采用了KMP搜索搜索算法以及二叉树遍历,排序采用了冒泡排序法。

 3.设计环境

       本次设计和开发的平台为Windows10,使用Java语言开发,编译环境为JDK1.8,使用的开发工具为eclipse IDE 2022-03。

三、概要设计

 1.数据结构设计

      (1)线性表数据结构设计

   static String[] tab_title = {}//用于存放表头

   //用于将队列转化为数组的方法

   public static String[][] queue_to_array(Queue<String[]> queue){

          int count=0;//定义一个int型数据充当计数器

          //用于存储队列数据的数组

          String[][] get_queue_data=new String[queue.size()][7];

          //判断队列中是否还有数据

          while (queue.size()>0){

                 //从队列弹出数据并存储到数组中

                  get_queue_data[count]=queue.poll();

                  count++;

           }

          //返回数组

          return get_queue_data;

}

(2)特殊线性表数据结构设计

   public static Queue<String[]> queue =

   new LinkedList<String[]>();//用于存储读取到的符合条件的数据

   //定义一个读取文件的方法

   public static void read_txt(String src,Queue<String[]> queue){

                 try {

                        //根据传入的地址找到文件

                        File file = new File(src);

                        //定义一个FileReader

                         FileReader fileReader = new FileReader(file);  

                         //定义一个LineNumberReader用于读取行数据

     LineNumberReader reader = new LineNumberReader(fileReader);

          int number = 1;

          String txt = ""; //存储得到的行数据

          int lines = 0; //从第一行开始读取

        while (txt != null) {//如果读取到的数据非空

            lines++;//行数加一

            txt = reader.readLine();//继续读取下一行

//当读取到的数据不为空时

 if (lines > number&&txt!=null&&!txt.trim().equals("")) {

              //将当前数据以“/”分割并存储到数组中

             String[] data=txt.split("/");

             //向队列中送入读取到的数据

             queue.offer(data);

            }

     }

 //关闭LineNumberReader

    reader.close();

 //关闭fileReader

    fileReader.close();

}catch (IOException e) {

       System.out.println("读取文件出错");

      }

}

(3)非线性结构数据结构设计

本次课程设计用到的非线性结构只有堆,因为堆是一个完全二叉树,所以在本次课程设计中采取的是将堆映射到数组上的方式来实现逻辑上的堆结构的。

(4)查找和排序数据结构设计

      public static void filter_txt

 (String src,String starting_point,String end_point,

 String departure_time,Queue<String[]> queue){//筛选航线方法

            try {

              //根据传入的地址找到文件

                 File file = new File(src);

              //定义一个FileReader

             FileReader fileReader = new FileReader(file);  

   LineNumberReader reader = new LineNumberReader(fileReader);

         int number = 1;

         String txt = "";

         int lines = 0;

        while (txt != null) {//如果读取到的数据非空

            lines++;

            txt = reader.readLine();//继续读取下一行

      if (lines > number&&txt!=null&&!txt.trim().equals("")) {

//将读取到的数据以“/”分割并存入数组中

             String[] data=txt.split("/");

     if(starting_point.trim().equals(data[1])&&end_point.trim().equals(data[2])&&departure_time.trim().equals(data[3].substring(0, 10))) //将符合条件的数据存储队列中

             queue.offer(data);

            }

        }

     //关闭文件流

      reader.close();

     fileReader.close();

  }catch (IOException e) {

       System.out.println("读取文件出错");

   }

}

2.模块设计

  (1)线性表模块设计

      本次课程设计所采用的线性结构就是数组,而数组是在Java语言中自带的一种结构,直接使用即可,无需做额外设计。

  (2)特殊线性表模块设计

      本课程设计采用的特殊线性表是队列,在队列中存储的是来自文件的数据,每一条数据需要以数组的形式存储,所以队列中存储的为数组,所以我们定义了Queue<String[]>这样的队列。

  (3)非线性结构模块设计

     在本次课程设计中,使用的非线性结构为二叉树,在进行模糊搜索时,通过二叉树遍历数据可提高搜索速度。

 (4)查找和排序模块设计

    本程序的查找功能采用了KMP搜索搜索算法以及二叉树遍历,排序采用了冒泡排序法,此模块主要用于用户输入的信息模糊搜索航班,并将最终结果以时间先后进行排序。

三、详细设计

  1.主程序界面及功能的详细设计

       首先在项目工程中创建Main Frame.java作为主窗口文件,设置窗口大小为,主题样式,标题栏,窗口图标,并添加到当前窗口中背景以及窗口可见性,之后创建InitGlobalFont方法,该方法设置全局字体的样式和大小。在项目工程中创建FunctionPanel.java类,并将其添加到MainPanel.java的CardLayout中,并通过CardLayout.Show方法设置FunctionPanel为默认显示。在FunctionPanel.java中,创建三个图片按钮,分别代表航班管理,订票,退票,以及一个退出按钮,将按钮添加到界面中,设定其位置,并将它们添加点击事件,点击航班管理将MainPanel.java的CardLayout.show()设定为SearchPanel,点击订票设定为AddPanel,点击订单管理将其设为RefundPanel。

                                                              图1 主程序模块流程图

 2.航班管理模块界面及功能详细设计

       FunctionPanel.java为航班管理界面,在该文件中,首先创建一个表格table,逐行读取flight.txt的所有信息,将其存入队列中,再从队列弹出将其添加到表格中。创建五个按钮,分别为“添加航班”,“删除航班”,“修改航班”,“刷新”,“返回”,以及一个文本框和搜索按钮。点击“添加航班”,将弹出添加窗口,在窗口中输入航班信息,点击确定即可将该信息添加到flight.txt文件中,并刷新表格。选中某表格中的某一条信息,点击“删除航班”,将会获取该行中的航班号,根据该航班号与flight.txt文件进行逐行匹配,匹配成功则将其删除,并刷新表格。选中某一条信息 点击“修改航班”,过程与删除航班类似,匹配成功后对该行覆盖写入,并刷新表格。点击“刷新”,会重新读取文件,将其显示在表格中。点击“返回”,会使MainPanel的CardLayout显示FunctionPanel,即主界面。在文本框中输入关键词,点击“搜索”按钮,会将从文本框获取的数据与flight.txt进行逐行匹配,将匹配成功的信息存入队列中,之后将队列中的信息输出在表格中。

                                                         图2 航班管理模块流程图

3.​​​​机票预定模块界面及功能详细设计

       在项目工程中创建addPanel.java,作为航班订票界面,在该界面中创建一个表格,以及三个按钮,分别为“订票”,“候补乘客”,“返回”,在data/ program-store文件夹中创建book-list.txt,用于存储订单,创建candidata-list.txt文件,用于存储候补乘客。表格中显示当前所有航班,点击某一条信息,点击“订票”,输入乘客信息,数量,如果剩余票充足,则将当前的航班号,乘客信息,数量写入到book-list.txt文件中,并修改light.txt文件的该航班剩余票数。若余票不足,则提示是否列入候该航线的候补名单中。选中某一条航班,点击“候补乘客”,则会读取candidate-list.txt文件,并弹出新窗口以表格的形式显示。点击“返回”,则返回到主界面,点击“搜索”,则会根据输入的关键字和日期与flight.txt中的航班信息进行匹配,将所有匹配成功的信息存入队列中,清空表格,之后将队列中的信息输出在表格中,并以时间先后排序。

图3 航班管理模块流程图

  4.​​​​​​​订单管理模块界面及功能详细设计

       在项目工程中创建deletePanel.java,作为航班退票界面,在该界面中创建一个表格,以及三个按钮,分别为“退票”,“候补乘客”,“返回”,以及一个文本框和“搜索”按钮,表格中显示当前所有订单,选中某一条订单,点击“退票”,则会根据航班号与book-list.txt文件里航班号匹配,匹配成功则删除该订单,并重新统计该航班剩余票量,并将剩余票量写入到flight.txt中。之后检查是否有候补乘客,如果有则将剩余票给与候补乘客,以排队顺序优先,并删除其在候补名单candidate-list的信息。

                                                             图4 订单模块流程图

四、测试分析

  1.​​​​​​​主程序界面及功能测试分析

         首先对主页测试分析,如图 5所示:

                                                   图5 航空订票系统主界面

       窗口可以正常出现,图片的点击事件可以正常响应,当点击航班检索时,页面正常切换到航班检索界面,如图6。

                                                         图6 航班检索界面

       点击返回可以正常返回主页,并没有出现页面卡死或无法切换的情况,由此可以说明主界面没有问题。

      

     其功能实现的主要代码是:

      public void mouseClicked(MouseEvent e) {

           // TODO Auto-generated method stub

    if(e.getSource().equals(icon_search)||e.getSource().equals(icon_search_text)) {

            if(searchPanel_on)

             {

                   SearchPanel searchPanel=new SearchPanel();

                   MainPanel.jPanel.add(searchPanel,"searchPanel");

                  searchPanel_on=false;

             }

      MainPanel.cardLayout.show(MainPanel.jPanel,"searchPanel");

       }else

    if(e.getSource().equals(icon_add)||e.getSource().equals(icon_add_text)) {

                  if(addPanel_on)

                    {

                        AddPanel addPanel=new AddPanel();

                        MainPanel.jPanel.add(addPanel,"addPanel");

                        addPanel_on=false;

                    }

               MainPanel.cardLayout.show(MainPanel.jPanel,"addPanel");

                 }else

           if(e.getSource().equals(icon_delete)||e.getSource().equals(icon_delete_text)) {

                        if(refundPanel_on)

                                 {

                                    RefundPanel refundPanel=new RefundPanel();

                                    MainPanel.jPanel.add(refundPanel,"refundPanel");

                                    refundPanel_on=false;

                                  }

 MainPanel.cardLayout.show(MainPanel.jPanel,"refundPanel");

       }

}

2.​​​​​​​航班管理模块功能测试分析

     下面进行航班检索模块的测试:

     点击航班检索,页面将切换到航班检索界面,如图7所示:

                                                         图7 航班检索界面

        点击添加航班,将弹出添加界面,如图8所示,输入所有信息后点击确定即可添加,表格自动刷新。

                                                          图8 航班添加窗口 

       点击删除航班,将弹出提示是否删除,点击确定后,即可删除该航班。

       在搜索框中输入关键信息,点击“搜索”即可查询,查询到的结果显示在表格中。

                                                            图9 航班查询功能

          其功能实现的主要代码是:

 public void delete() {

    int count=table.getSelectedRow();

    if(count>=0) {

     String getname= table.getValueAt(count, 0).toString();

    FileOperations.delete_txt_line("src/data/storage/flight.txt", getname, false);

     refresh_table();

}else {

  JOptionPane.showMessageDialog(null, "请选中列表中的某一行!!", "提示", 0);

  }

}

   public void search_table() {

 FileOperations.search_txt_line("src/data/storage/flight.txt",search_bar.getText(),Constant.queue,0);

     table_mode =new DefaultTableModel();

     table_mode.setColumnIdentifiers(tab_title);

     while(Constant.queue.size()>0) {

       table_mode.addRow(Constant.queue.poll());

      }

      table.setModel(table_mode);

      }

public void actionPerformed(ActionEvent e) {

String get_data="\n"+flight_number.getText()+"/"

+starting_station.getText()+"/"+terminal_station.getText()+"/"+departure_time.getText() +"/"+arrival_time.getText()+"/"+crew_quota.getText()+"/"+total_votes.getText()+"/"+total_votes.getText();

 FileOperations.write_txt("src/data/storage/flight.txt",get_data);

   refresh_table();

   add_window_JFrame.dispose();

}

3 .机票预定模块功能测试分析

    下面进行机票预订模块的测试:

  点击机票预订,页面将切换到机票预订界面,如图9所示:

                                                图9 机票预定模块界面

       选中某一航班,点击“订票”,页面将弹出机票预订窗口,如图10所示,输入信息,点击确定即可订票。

                                                         图10 机票预定窗口

        选中某一航班,点击“订单”,页面将弹出当前航班订单窗口,如图11所示,显示当前成功购票和候补购票名单。

                                           图11 航班当前订单窗口

        在右上角的文本框中输入起始站,终点站,出发日期,点击“搜索”,即可显示满足条件的航班,如图12所示。

                                                           图12 航班筛选功能

其功能实现的主要代码是:

public void search_table() {

 FileOperations.filter_txt("src/data/storage/flight.txt",starting_station_textField.getText(),terminal_station_textField.getText(),departure_time_textField.getText(),Constant.queue);

   table_mode =new DefaultTableModel();

   table_mode.setColumnIdentifiers(tab_title);

   while(Constant.queue.size()>0) {

    table_mode.addRow(Constant.queue.poll());

 }

  table.setModel(table_mode);

 }

 public void delete() {

   int count=table.getSelectedRow();

   if(count>=0) {

     String getname= table.getValueAt(count, 0).toString();

    FileOperations.delete_txt_line("src/data/storage/flight.txt", getname, false);

   refresh_table();

 }else {

JOptionPane.showMessageDialog(null, "     请选中列表中的某一行!!", "提示", 0);}}

4.​​​​​​​订单管理模块功能测试分析

 下面进行订单管理模块的测试:

  点击订单管理,页面将切换到订单管理界面,如图13所示:

                                                    图13 订单管理模块界面

       选中某一航班,点击“退票”,将弹出退票界面,如图14所示,输入退票数量,点击“确定”,即可完成退票。

                                                      图14 订单管理模块

      选中某一航班,点击“详情”,将弹出该航班详细信息界面,如图15所示。

                                                           图15 航班详情界面

       在搜索框中输入关键信息,点击搜索即可显示搜索到的订单,具体界面上文已有所提到,这里不多赘述。

       其功能实现的主要代码是:

public static void delete_line(JTable table) {

   int count=table.getSelectedRow();

   if(count>=0) {

 if(JOptionPane.showConfirmDialog(null, "是否删除当前所选候补信息", "注意", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION) {

 FileOperations.delete_txt_line("src/data/storage/alternate.txt",table.getValueAt(count, 0).toString(),true);

                  JOptionPane.showMessageDialog(null, "    删除成功!!", "提示", 1);

            refresh_table("src/data/storage/alternate.txt", table_mode2, table2, order_tab_title2,true);

}

}else {

   JOptionPane.showMessageDialog(null, "     请选中列表中的某一行!!", "提示", 1);

   }

}

public void actionPerformed(ActionEvent e) {

 if(e.getSource().equals(refund_button)) {//退票

   OrderWindow.refund_window(table_mode1,table1,order_tab_title1);

 }else if(e.getSource().equals(details_button1)) {//详情1

OrderWindow.details_window(table1);

}else if(e.getSource().equals(booking_button)){

    booking();

  }else if(e.getSource().equals(delete_button)) {//删除

    delete_line(table2);

  }else if(e.getSource().equals(refresh_button1)||e.getSource().equals(refresh_button2)) {//刷新

    refresh_table("src/data/storage/booking.txt", table_mode1, table1, order_tab_title1,true);

    refresh_table("src/data/storage/alternate.txt", table_mode2, table2, order_tab_title2,true);

 }else if(e.getSource().equals(return_button1)||e.getSource().equals(return_button2)) {//返回

        MainPanel.cardLayout.show(MainPanel.jPanel,"featuresPanel");

 }else if(e.getSource().equals(search_button1)) {

 FileOperations.search_txt_line("src/data/storage/booking.txt",search_bar1.getText(),Constant.queue,0);

 refresh_table("src/data/storage/booking.txt", table_mode1, table1, order_tab_title1,false);

 }else if(e.getSource().equals(search_button2)) {

 refresh_table("src/data/storage/alternate.txt", table_mode2, table2, order_tab_title2,false);

  }

}

下载链接:数据结构课设之航空订票系统(Java).zip-Java文档类资源-CSDN下载

  

[附源码]计算机毕业JAVA航空售票管理系统 附源码]计算机毕业JAVA航空售票管理系统项目运行环境配置:(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat。 阅读详情

相关推荐

JAVA数据结构—飞机售票系统

录入功能:可以录入航班情况。查询功能:可以查询某个航线的情况,如输入航班号,可以查询起降时间、起飞抵达城市、航班票价、票价折扣、确定航班是否满员等;可以输入起飞抵达城市,查询飞机航班情况。订票功能:可以订票,如果该航班已经无票,可以提供相关可选择航班,订票时客户资料有姓名、证件号、订票数量及航班情况,另外要对订单进行编号。退票功能:可退票,退票后修改相关数据文件。修改航班信息:当航班信息改变,可以修改航班数据文件。

D19992730096的博客 5223

航空订票系统java源码-Flight-Booking:机票预订

航空订票系统 java源码抽象的 此应用程序的主要目标是减少商业航空公司预订过程中的人工错误,并使客户能够根据需要预订航线,以便他们可以实施此应用程序来创建预订、更改预订或终止预订。特别预订。 该应用程序的名称是“AIRLINE BOOKING SYSTEM”。 此应用程序提供了在特定时间范围内观看不同时间可用的不同路线的替代方案,并为客户提供发布入场、更改或终止特定预订的服务,但它不向客户提供入场价格信息,并且不允许客户更改其预订的特定方面,并且他/她可以更改他/她的所有信息。 该软件不断向用户生成有关计划相关更新的及时消息。 特定技术 Java,小程序 项目任务 用例分析、计、实现和用户界面 项目的功能组件 以下是该系统的功能列表。 您认为合适的更多功能可以添加到此列表中。 而且,在功能描述不充分的地方,您可以做出适当的假并继续。 现有的航空公司信息已经存储在本地内存中。 任何新的乘客信息都可以通过乘客信息输入屏幕存储在本地存储器中。 屏幕将输入乘客的所有详细信息以及他的姓名、他所属的整个地址、旅程详细信息以及身份证明详细信息,例如 Pan 卡号等。 航空公司数据输入操作员应该

基于JAVA航空订票系统计算机毕业计源码+数据库+lw文档+系统+部署

基于JAVA航空订票系统计算机毕业计源码+数据库+lw文档+系统+部署本源码技术栈:项目架构:B/S架构开发语言Java语言开发软件:idea eclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数 据 库:MySQL5.7/8.0源码地址:https://pan.baidu.com/s/1LYhJCtscJsykDz19LQp4Jw?pwd=pkva最新计算机专业原创开发毕业计源码+数据库是近期作品......

m0_72534189的博客 1444

航空客运订票系统JAVA

航空客运订票系统 特点:超详细的JAVA代码注释,代码保护性,无论输入什么都不会崩溃; 【问题描述】航空客运订票的业务活动包括:查询航线、添加航班,客票预订和办理退票等七大功能,已实现操作文件。试计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 【基本要求】 (1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量)(2)系统能实现的操作和功能如下: ①录入:可以录入航班情况,全部数据可以只放在内存中,最好存储在文件中; ②查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额; ③承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补; ④承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。 【测试数据】由读者自行指定。 【实现提示】两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录,包含上述8个域、其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。 【选作内容】当客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。读者还可充分发挥自己的想象力,增加你的系统的功能和其他服务项目 I/O流操作时用到了GSON,解压即可看到,如果发现报错,读者可以配置一下Gson的路径,在属性,JAVA构建路径中删除原有的三个GSON库,添加外部,下载的GSON库。如果不用可以将Main类中new ReadFlightLine();注释掉即可。

(附源码)计算机毕业计ssm 航空订票系统

航空订票系统基于Web服务模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在不受时间、地点的限制来使用这个系统。航空订票系统工作原理图,如图4-1所示:图4-1 系统工作原理图4.2。

计算机程序华哥 1677

信息系统分析与计 机票预定管理系统

信息系统分析与计 机票预定管理系统

weixin_46073307的博客 1万+

基于android实现航空订票系统

在本次计中,我充分利用了 androidstudio+linux 终端 +gradle+git 这一组工具,极大地提升了编程效率。AndroidStudio 下进行编程,代码提示、目录结构等非常束缚,让我的精力可以集中于解决眼前的问题。

神仙别闹的自留地 1003

基于SSM的航空在线订票系统【附源码+文档】

题采用的主流的Java语言这种面向对象的语言进行航空在线订票系统程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。

程序定制,毕设辅导、论文写作、技术指导! 1555

订票系统java源码_航空订票系统java源码

【实例简介】J2EE航空订票系统项目源码,非常适合初学者学习【实例截图】【核心代码】num_02航空订票管理系统└── num_02├── database│ └── hk.sql└── JavaPrj_2├── bin│ ├── com│ │ └── hk│ │ ├── base│ │ │ ├── Business.class│ │ ...

weixin_42282116的博客 1489

简易航空订票系统_航空订票系统(JAVA+SSH+MYSQL)

航空订票系统系统(SSH+MYSQL+HTML5)(毕业论文近10000字, 包含程序代码,MySql数据库,数据库脚本) 【项目包含】【项目功能】【源码下载】本系统登录的角色有二种:会员、管理员、普通用户。管理员是能够管理会员信息、航班信息的管理、订单信息的管理、留言板的管理。会员是能够查看航班信息、在线购买机票、查看订单信息、在线留言。普通用户只能够浏览航班的信息。经上所述,系统功能可以分为以...

weixin_39632982的博客 360

【超全】基于SSM的航空在线订票系统 [包括源码+文档]

题采用的主流的Java语言这种面向对象的语言进行航空在线订票系统程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。

qq_59110836的博客 995

java小项目(公交车管理系统+航空订票系统

航空订票系统 //测试函数放在Booking里面 //Enum PassengerCabin package systemofAirplane; public enum PassengerCabin { 头等舱,商务舱,经济舱 } //Enum Status package systemofAirplane; public enum Status { 待审核,审核中,审核通过 } //B...

wudaiming的博客 3084

java计算机毕业航空订票系统源码+mysql数据库+系统+lw文档+部署(2)

java计算机毕业航空订票系统源码+mysql数据库+系统+lw文档+部署(2)springboot基于SpringBoot的创意项目众筹平台的计与开发。springboot基于Springboot技术的装潢公司网站开发。JSP企业客户服务与产品管理系统的计和实现SQLServer。springboot基于Java的高校教室申请管理系统。ssm基于Java的台球收费管理系统的计与实现。

adkj3的博客 501

cs结构航空订票系统java_java毕业计_springboot框架的飞机票航空订票系统

今天介绍一个java题目, 题目内容为springboot框架的飞机票航空订票系统计, 是一个采用b/s结构的javaweb项目, 采用java语言编写开发工具eclipse, 项目框架jsp+springboot+mybatis, 飞机票航空订票系统计的信息存储于mysql中, 并基于mybatis进行了orm封装, 该飞机票航空订票系统计系统通过模块化实现, 提升了管理效率, 飞机票...

weixin_30486919的博客 753

语音飞机航空订票系统代码_航空订票系统(JAVA+SSH+MYSQL)

航空订票系统系统(SSH+MYSQL+HTML5)(毕业论文近10000字, 包含程序代码,MySql数据库,数据库脚本) 【项目包含】【项目功能】【源码下载】本系统登录的角色有二种:会员、管理员、普通用户。管理员是能够管理会员信息、航班信息的管理、订单信息的管理、留言板的管理。会员是能够查看航班信息、在线购买机票、查看订单信息、在线留言。普通用户只能够浏览航班的信息。经上所述,系统功能可以分为以...

weixin_32154667的博客 324

航空订票系统(JAVA+SSH+MYSQL)【源码,数据库脚本,论文,开题报告,答辩稿,任务书,全套运行工具,运行教程,代码技术视频讲解】

航空订票系统系统(SSH+MYSQL+HTML5)(毕业论文近10000字, 包含程序代码,MySql数据库,数据库脚本) 【全部代码下载】 【项目包含】 视频讲解需要另外支付 【项目功能】 本系统登录的角色有二种:会员、管理员、普通用户。管理员是能够管理会员信息、航班信息的管理、订单信息的管理、留言板的管理。会员是能够查看航班信息、在线购买机票、查看订单信息、在线留言。普通用户只能够浏览航班的信息。 经上所述,系统功能可以分为以下几个模块: (1)查看...

huahuacode1的博客 1247
上一篇: 解决jdk18下IntelliJ IDEA控制台输出中文乱码问题
思岿
博客等级 码龄5年 11粉丝 · 2原创
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思岿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值