资源简介
问题描述:航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。
(1) 每条航线所设计的信息有:终点站名、航班、航班号、飞机号、飞行周日(星期几)、成员定额、余票量。已订票的客户名单(包括姓名、订票量、舱位等级1.2.3)以及等候替补的客户名单(包括姓名,所需票量);
(2) 作为示意系统,全部数据可以只放在内存中;
(3) 系统能实现的操作和功能如下:
① 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额。
② 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需要重新询问客户要求,若需要,可登记排队候补
③ 承办退票业务:根据客户提供的情况(日期。航班)为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则,依次询问其他排队候补的客户。
(4) 测试数据
(5) 选做内容,当客户所要订的航班票额不足的时候,系统会根据目的地,输出目的地相同的航线,询问客户是否要订票。
完美代码+完美课设报告+可执行文件(编译软件wintc)
代码片段和文件信息
#include
#include
#include
#include
#define MAXSIZE 4 //定义航线量的最大值
typedef struct wat_ros
{ char name[10];//姓名
int req_amt;//订票量
struct wat_ros *next;
}qnode*qptr;
typedef struct pqueue
{ qptr front;//等候替补客户名单域的头指针
qptr rear;//等候替补客户名单域的属指针
}linkqueue;
typedef struct ord_ros
{ char name[10];//客户姓名
int ord_amt;//订票量
int grade;//舱位等级
struct ord_ros *next;
}linklist;
struct airline
{ char end_place[10];//终点站名
char line_num[10];//航班号
char plane_num[10];//飞机号/
char date[7];//飞行日期(星期几)
int total;//乘员定额
int left;//余票量
linklist *order;//乘员名单域,指向乘员名单链表的头指针
linkqueue wait;//等候替补的客户名单域,分别指向排队等候名单队头队尾的指针
}lineinfo;
struct airline *start;
struct airline air[MAXSIZE]={{“beijing““1““B8571““SUN“31}
{“shanghai““2““S1991““TUE“55}
{“guangzhou““3““L7447““FRI“33}{“beijing““4““K8761““MON“52}};;
void display(struct airline *info);
void search();
void prtlink();
void order();
void return_tkt();
void Search();
void Bookticket();
void Refund();
void goodbye();
void list();
int menu_select();
void search();
void Suggest();
void line_info();
int main()
{
menu_select();
}
int menu_select()//菜单界面
{ int n;
start=air;
flag:
{
system(“cls“);
printf(“\n“);
printf(“\n“);
printf(“ 09计算机科学与技术\n“);
printf(“ 指导老师:李杨 “);
printf(“\n“);
printf(“\n“);
printf(“ 欢迎来到航空订票系统\n“);
printf(“ ************************************\n“);
printf(“ * 1. 航班信息 *\n“);
printf(“ * 2. 查询功能 *\n“);
printf(“ * 3. 航班订票 *\n“);
printf(“ * 4. 退票功能 *\n“);
printf(“ * 5. 离开系统 *\n“);
printf(“ ************************************\n“);
printf(“ 请输入(1-5)否则无效! 请输入您的选择:“);
scanf(“%d“&n);
}
switch(n)
{
case 1: list();system(“PAUSE“);menu_select();break;
case 2: Search();system(“PAUSE“);menu_select();break;
case 3: Bookticket();system(“PAUSE“);menu_select();break;
case 4: Refund();system(“PAUSE“);menu_select();break;
case 5: goodbye();break;
default:goto flag;
}
}
void display(struct airline *info)//打印每条航线的基本信息
{printf(“%8s\t%3s\t%s\t%4s\t\t%3d\t%10d\n“info->end_placeinfo->line_numinfo->plane_numinfo->dateinfo->totalinfo->left);
}
void list()//打印全部航线信息
{ struct airline *info;
int i=0;
info=start;
system(“cls“);
printf(“终点站名\t航班号\t飞机号\t飞行日期\t乘员定额\t余票量\n“);
while(i {
display(info);
info++;
i++;
}
printf(“\n\n“);
}
void search()//根据客
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12635 2012-01-06 13:36 航空航班订票系统\航空航班订票系统.c
文件 184370 2012-01-06 13:36 航空航班订票系统\航空航班订票系统.exe
文件 34182 2012-01-06 13:36 航空航班订票系统\航空航班订票系统.obj
文件 682496 2012-01-06 13:24 航空航班订票系统\课程设计报告(最终版).doc
目录 0 2012-01-06 13:38 航空航班订票系统
----------- --------- ---------- ----- ----
913683 5
- 上一篇:人人都是产品经理视频教程 百度云
- 下一篇:基于UDP协议网上聊天程序
评论
共有 条评论