已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_数据结构课程设计报告题目事件排列表班 级: 计升092 学 号: 090814221 姓 名: 王中晓 同 组 者: 王中晓 时 间: 2010/9/26-2010/10/10 一、设计目的与内容1设计目的熟练掌握数据的存储表示和基本操作的实现,能够利用存储设计算法解决简单的航空订票问题。2设计内容:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;输出:可以按照航班号为顺序输出订票信息。二、 算法的基本思想飞机订票系统 主界面管理员客户录入航班信息查看航班信息查看客户信息修改航班信息查看航班信息查看订票信息订票退票算法的主要思路是:1首先对界面的设计,可以对操作的人员来说简单上手。对系统的应用都能进行相应的操作。(1)设置管理员的功能。(2)设置客户的功能(3)管理员的主要操作界面(4)客户的主要操作界面(5)结束2类dingpiao用来显示客户订票的事件;基本思路如下:(1) 客户提交自己的详细信息。(2) 管理员处理相应的内容并给票给客户。(3) 订票结束3类tuipiao将处客户的退票的信息,释放存储空间,基本思路如下:(1) 客户提交自己的详细信息。(2) 管理员把客户的票取出,(3) 结束三、测试数据程序运行实例如下:1 主界面的进入:2 管理员的相应功能3 用户的相应功能4 管理员录入订票信息5 用户订票跟退票三、 源程序及系统文件使用说明1 用java写的飞机订票系统的主界面可以直观的观察操作的界面,所应用的代码如下所示:package air;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.util.*;public class Airmain extends JFramestatic ArrayList Flight = new ArrayList();static ArrayList Client = new ArrayList();/库函数,是一个只能存放client对象的数组容器 : 泛型static int DingdanId = 100;static int Clientd = 1000;private int width;private int height;public Airmain(String t)super(t);width = 950;height = 713;this.setSize(new Dimension(width, height);setLayout(new FlowLayout();JButton btn1 = new JButton(管理人员进入);JButton btn2 = new JButton(客户进入);JButton btn3 = new JButton(关于);JButton btn4 = new JButton(退出系统);add(btn1);add(btn2);add(btn3);add(btn4);pack();setLocation(300, 400);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btn1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) new DengluFrame(管理员登陆););btn2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) new clientFrame(););btn3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null, 欢迎进入航班订票系统! +交通学院 计升093 刘文涛 ););btn4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null, 您确认要退出么!);System.exit(0););this.pack();public static void main(String args) new Airmain(飞机订票系统);2 管理员的操作界面也是简单易懂,利于上手。实现的代码如下所示:package air;import java.awt.FlowLayout;import java.awt.event.*;import javax.swing.*;class guanliFrame extends JFrame public guanliFrame() /this.setTitle(欢迎进入管理系统!);super(欢迎进入管理系统);setSize(600, 400);setLocation(100, 100);setLayout(new FlowLayout();JButton btn1 = new JButton(录入航班信息);JButton btn2 = new JButton(查看航班信息);JButton btn3 = new JButton(修改航班信息);JButton btn4 = new JButton(查看客户信息);add(btn1);add(btn2);add(btn3);add(btn4);btn1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / setVisible(false);new luruFrame(););btn2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / setVisible(false);new chakanFrame(););btn3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / setVisible(false);new xiugaiFrame(););btn4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / setVisible(false);new chakanClientFrame(););this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) setVisible(false););pack();this.setVisible(true);3 客户进入后的操作界面,可是实现用户的各种操作,例如订票,退票,查询信息等,具体实现如下:import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.*;class clientFrame extends JFrame public clientFrame() this.setTitle(欢迎进入客户系统!);setSize(600, 400);setLocation(100, 100);setLayout(new FlowLayout();JButton btn1 = new JButton(查看航班记录);JButton btn2 = new JButton(查看客户订票信息);JButton btn3 = new JButton(订票);JButton btn4 = new JButton(退票);add(btn1);add(btn2);add(btn3);add(btn4);btn1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / setVisible(false);new chakanFrame(););btn2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) new chakanClientFrame(););btn3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) /setVisible(false);new dingpiaoFrame(););btn4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) /setVisible(false);new tueipiaoFrame(););this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) setVisible(false););pack();this.setVisible(true);4 录入修改航班的代码,对订票信息的确定,并且对相应的信息进行修改。public void actionPerformed(ActionEvent e)scucss = true;tryint i = Integer.parseInt(input1.getText();catch (NumberFormatException ivjExc)scucss = false;JOptionPane.showMessageDialog(null, 航班号输入有误);input1.setText();return;tryint fi = Integer.parseInt(input1.getText();Iterator it = Airmain.Flight.iterator();/创建迭代读取容器中的内容while(it.hasNext()fl = (flight)it.next();if(fl.flightId = fi)scucss = false;JOptionPane.showMessageDialog(null,该航班已经存在!请重新输入!);input1.setText();return;catch (NumberFormatException ex1)JOptionPane.showMessageDialog(null, 请填入完整信息!);return; String str = input2.getText(); if(isDate(str)=false) scucss = false; JOptionPane.showMessageDialog(null, 时间输入有误!); try if (Integer.parseInt(input7.getText() Integer.parseInt(input6.getText() JOptionPane.showMessageDialog(null, 载客人数输入有误!请重新输入!);input6.setText();input7.setText();scucss = false;return; else if (Integer.parseInt(input7.getText() = Integer.parseInt(input6.getText()input8.setText(true); elseinput8.setText(false); catch (NumberFormatException ex2) JOptionPane.showMessageDialog(null, 请填入完整信息!);return;try while (scucss) int FlightId = Integer.parseInt(input1.getText();String time = input2.getText();String st = input3.getText();String re = input4.getText();int price = Integer.parseInt(input5.getText();int max = Integer.parseInt(input6.getText();int current = Integer.parseInt(input7.getText();boolean iffull = Boolean.parseBoolean(input8.getText();if (scucss = true) flight f1 = new flight(FlightId, time, st, re,price, max, current, iffull);Airmain.Flight.add(f1);JOptionPane.showMessageDialog(null, 录入成功!);input1.setText();input2.setText();input3.setText();input4.setText();input5.setText();input6.setText();input7.setText();input8.setText();return; catch (NumberFormatException ex) JOptionPane.showMessageDialog(null, 请填入完整信息!);return;5 顾客订票退票的代码,实现了顾客 的订票和退票信息,具体的实现如下所示:public void actionPerformed(ActionEvent e) tryint fi = Integer.parseInt(input4.getText();boolean bl = false;Iterator it = Airmain.Flight.iterator();while (it.hasNext() fl = (flight) it.next();if (fl.flightId = fi) bl = true;break;if (bl = false) JOptionPane.showMessageDialog(null, 不存在该航班!);input4.setText();return; if (fl.iffull = true) JOptionPane.showMessageDialog(null, 航班已满!);input4.setText();return;input1.setText(String.valueOf(Airmain.Clientd);String name = input2.getText();String num = input3.getText();int flightId = Integer.parseInt(input4.getText();input5.setText(String.valueOf(Airmain.DingdanId);cliient cl = new cliient(Airmain.Clientd, name, num, flightId,Airmain.DingdanId);fl.current+;if(fl.current=fl.max)fl.iffull=true;Airmain.Client.add(cl);Airmain.Clientd+;Airmain.DingdanId+;JOptionPane.showMessageDialog(null, 订票成功!);input1.setText();input2.setText();input3.setText();input4.setText();input5.setText();catch (NumberFormatException ex1) JOptionPane.showMessageDialog(null, 请填入完整信息!);return;btn1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) tryif(input0.getText()=null)input0.setText(订单号不能为空!);int dingdanId = Integer.parseInt(input0.getText(); bl = false;Iterator it = Airmain.Client.iterator();while (it.hasNext() cl = (cliient) it.next();if (cl.dingdanId = dingdanId) bl = true;break;if (bl = false) JOptionPane.showMessageDialog(null, 不存在该订单!);input0.setText();return;input1.setText(String.valueOf(cl.clientId);input2.setText();input3.setText(cl.num);input4.setText(String.valueOf(cl.flightId);/btn2.setVisible(true);catch (NumberFormatException ex1) JOptionPane.showMessageDialog(null, 请输入订单号!);return;);btn2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(bl=true)Iterator
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某汽修厂维修工时办法
- 2026年开封市南关区事业单位人员招聘笔试备考题库与答案详解
- 2026江苏省宿迁学院人才招聘27人笔试备考试题及答案解析
- 2026北京化工大学国际教育学院管理岗位招聘1人笔试备考题库及答案解析
- 2026年茂名市茂港区事业单位人员招聘笔试备考题库与答案详解
- 2026年成都市武侯区公务员人员招聘考试备考试题与答案详解
- 2026年西安市雁塔区公务员人员招聘考试试题与答案详解
- 2026年黄山市黄山区公务员人员招聘笔试模拟试题与答案详解
- 2026年随州市妇幼保健院下半年自主招聘卫生专业技术人员8人笔试参考题库及答案解析
- 2026年珠海市前山区公务员人员招聘笔试参考题库与答案详解
- 慢性阻塞性肺疾病科普
- GB/T 12729.1-2026香辛料和调味品名称
- 单病种质量管理指南(2024版)
- 2026中国人工智能辅助心电图诊断准确率验证研究
- 中国慢性肾脏病诊疗指南2025版
- 经皮大脑中动脉支架置入术后护理查房
- 建筑设备自动化 试题
- 2026届辽宁省大连中山区四校联考物理九上期中经典试题含解析
- 超星尔雅学习通《人工智能与创业智慧(北京林业大学)》章节测试含答案
- 解剖学基础课程全册教案
- 大学生劳动教育概论智慧树知到期末考试答案章节答案2024年南昌大学
评论
0/150
提交评论