1、 民航订票系统 一、设计目的与内容 1设计目的 熟练掌握数据的存储表示和基本操作的实现, 能够利用存储设计算法解决简单的 航空订票问题。 2设计内容: 录入: 可以录入航班情况 (数据可以存储在一个数据文件中, 数据结构、 具体数据自定) 查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航 班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 输出:可以按照航班号为顺序输出订票信息。 二、 算法的基本思想 算法的主要思路是: 飞
2、机订票系统 主界面 管 理 员 客 户 录 入 航 班 信 息 查 看 航 班 信 息 查 看 客 户 信 息 修 改 航 班 信 息 查 看 航 班 信 息 查 看 订 票 信 息 订 票 退 票 1首先对界面的设计,可以对操作的人员来说简单上手。对系统的应用都能进 行相应的操作。 (1)设置管理员的功能。 (2)设置客户的功能 (3)管理员的主要操作界面 (4)客户的主要操作界面 (5)结束 2类 dingpiao 用来显示客户订票的事件; 基本思路如下: (1) 客户提交自己的详细信息。 (2) 管理员处理相应的内容并给票给客户。 (3) 订票结束 3类 tuipiao 将处客户的退票的
3、信息,释放存储空间,基本思路如下: (1) 客户提交自己的详细信息。 (2) 管理员把客户的票取出, (3) 结束 三、E-R 图 系统流程图系统流程图 该系统的数据流程图如图 3-3: 客户端启 登陆 有效数据? No yes 四、测试数据 程序运行实例如下: 1 主界面的进入: 将 response 对象写往客户 解析 request 对象 将结果显示在客 出票 航班查询 修改密码 输入查询条件 验证有效? No yes 已查航班? No 输入乘客信息 验证有效? No yes 输入新密码 验 证 有 效 No yes 封 装requset 对象 将 request 对 象 写 向 服 务
4、 分拣请求 调用 FligthDao 调用 调用调用 出票请求 查询航班请求 修改密码请求 登陆请求 封装 response 对象 2 管理员的相应功能 3 用户的相应功能 4 管理员录入订票信息 5 客户注册模块 6 客户添加信息模块 10 客户订票界面 11 客户退票界面 五、源程序及系统文件使用说明 1 1 用 java 写的飞机订票系统的主界面可以直观的观察操作的界面,所应用的代 码如下所示: package FlightManagementSystem; import java.awt.*; import java.awt.event.ActionEvent; import java
5、.awt.event.ActionListener; import javax.swing.*; public class Welcome extends JFrame implements ActionListener /* * */ private static final long serialVersionUID = 1L; public static final String Flight = null; /声明 JButton 组件对象 JButton jbutton1,jbutton2,jbutton3,jbutton4; public Welcome() super(“欢迎进入
6、民航订票系统!“); /设置内容面板的布局模式为:流动布局 getContentPane().setLayout(new FlowLayout(); jbutton1=new JButton(“管理系统“); jbutton2=new JButton(“客户系统“); jbutton4=new JButton(“ 退 出 系 统 “); getContentPane().add(jbutton1); getContentPane().add(jbutton2); getContentPane().add(jbutton4); this.setBounds(300,200,240,120); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false); /注册监听器 jbutton1.addActionListener(this); jbutton2.addActionListener(this);