算法与数据结构
课程设计报告
设计题目:
专    业   
班    级
学    生         
学    号     
指导教师   
       
  2014年 第 1学期
                 
第一部分:需求分析
1、系统名称:航空客运订票系统
航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。要求在TC或VC环境下设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。
2、要求:
(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、 飞行日期(星期几)、乘员定额、余票量、已经订票的客户名单(包括姓名、订票量)以及等候替补的客户名单(包括姓名、所需票量)。
(2)作为模拟系统,全部数据可以只存放在内存中。
(3)通过此系统可以实现如下功能:
①录入功能:可以录入航班情况
②查询功能:根据客户提供的终点站名进行查询,可以输出以下信息:航班号、飞机号、星期几飞行和余票量等。也可以根据航班号,查询飞机某个航线的情况。
订票功能:根据客户提出的要求(姓名、终点站名、订票数量)查询该航班的余票量情况。如尚有足够的余票,则为客户办理订票手续;若已满员或余票量少于订票数量,则需要重新询问客户要求,如需要,可登记排队候补。
④退票功能:根据客户提供的情况(姓名、日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,若有人排队,则为排在第一位的客户办理订票手续。
第二部分:系统设计图样
:设计说明
1:添加航班:
  整个航班的信息保存在一个结构体flight中,采用结构体数组,每一个航班信息包含航班号、起飞时间、起飞城市、降落时间、降落城市、余票数量。航班信息通过lulu)函数进行添加。添加的信息保存在航班flight结构体数组中。
2:查询航班:查询板块分为两个部分,按姓名查和按安卓课程设计题目站查。
姓名查通过所输入的姓名和已定客户的姓名相匹配,匹配成功则查成功。
按站名查:通过所输入的起始站名和终点站名进行匹配,匹配成功则查成功
3:订票功能:根据用户的姓名和航班进行订票,如果所查的航班号的余票满足用户需要的票数,订票成功,信息保存在Customer中才用结构体数组,包含已定客户的姓名、客户ID、的票数、起飞时间、起飞城市、降落时间、降落城市、航班号。所查的航班的余票不满足客户的需求,则提醒用户是否需要进入到等候用户的名单里,等候用户信息保存在Wait结构体数组中,每添加一个信息,该数组则会生成一个记录。
4:退票功能:根据用户的姓名和航班进行退票,如果用户输入的姓名和航班号在已定客户的结构体数组中能到该记录,在已定客户的数组中删除此条记录,并且将该条记录的票数添加到flight中该航班的余票中去。
5:浏览航班:该功能分为三个板块:显示已定客户信息,显示等候客户名单显示所有航班信息。
显示已定客户信息通过格式化输出,将已定客户Customer结构体数组中的信息利用一个循
环输出。
显示等候客户名单:通过格式化输出,将等候客户Wait结构体数组中的信息利用一个循环进行输出。
显示所有航班信息:铜锁格式化输出,将所有航班信息flight结构体数组中的信息利用一个循环进行输出
6:安全退出:通过exit函数进行退出程序。
第三部分:实现
1、头文件部分
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
#include<fstream>
#include<string>
#include <iomanip>
#include <queue>
#include<assert.h>
2、函数体部分
const int MAX_POSSIBILITY = 100;
using namespace std;
static string title[6]={"航班号", "起飞时间","降落时间","起飞城市", "降落城市", "余票量"};
static int wid[6]={8,10,10,10,10,8};
static string title1[9]={"客户姓名","座位号","航班号","证件号","订票数","降落时间","起飞时间","起飞城市","降落城市"};
static int wid1[9]={8,9,8,8,8,11,11,11,11};
static string title2[5]={"客户姓名","起飞城市","降落城市","客 户 ID","预订票数"};
static int wid2[5]={8,10,10,10,10};
extern  int len=0;
extern  int A=0;
extern int max1=0;
struct  flight      //航班号
{
    int a1;        //航班号
    string a2;    //起飞时间
    string a3;    //降落时间
    string a4;  //起飞城市
    string a5;  //降落城市
    int a6;        //余票
}fl[50];
struct customer  //客户信息
{
    string name;      //客户姓名
    int seat;        //座位号
    int num;          //航班号
    string no;        //证件号
    int ps;          //订票数
    string jls;      //降落时间
    string qfs;      //起飞时间
    string qfd;      //起飞城市
    string jld;      //降落城市
}cu[100];

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