数据结构课程设计源代码(完整版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法与数据结构
课程设计报告设计题目:
专业
班级
学生
学号
指导教师
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
#include
#include
#include
#include
#include
#include
#include
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];
struct wait
{
string b1; //客户姓名
string b2; //起飞城市
string b3; //降落城市
string no; //客户ID
int num; //订票数
}Wa[50];
void luru(); //声明录入航班信息函数void chaxun(); //声明查询函数