数据结构课程设计(航空客运订票系统)
(贵州大学计算机科学与信息学院贡献)
#include <iostream.h>
#include <process.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>
#define MAX 60
#define NULL 0
typedef struct Customer /*乘客信息*/
{
char Name[8]; /*姓名*/
int Amount; /*定票数*/
char Rank; /*舱位等级*/
int IDinfor; /*个人信息*/
struct Customer *Next; /*指向下一乘客结点*/
}Customer;
typedef struct Flight /*航线信息*/
{
char Des_Name[10]; /*终点站名*/
char Flight_No[6]; /*航班号*/
char Plane_No[6]; /*飞机号*/
int Week_Day; /*飞行周日*/
int Customer_Amount; /*乘员定额*/
int Free_Amount; /*剩余票数*/
int Price[3]; /*舱位等级的价格*/
Customer *CustName; /*该航班的已定票乘客名单*/
Customer *ReplName; /*该航班的候补乘客名单*/
struct Flight *Next; /*指示下一航线结点*/
}Flight,*PFlight;
int Customer_Count=0; /*所有航线的定票乘客总数*/
Flight *Head; /*航线头指针*/
Flight *p2; /*航线结点指针*/
Customer *Custp1[MAX]; /*各条航线乘客结点指针*/
Customer *Replp1[MAX]; /*各条航线候补结点指针*/
int IsEmpty=1; /*是否有定票乘客*/
int IsReplace=1; /*是否有候补乘客*/
Customer *prior; /*满足要求的定票乘客的前结点,以作删除操作*/
int shouldsave=0;
/*-------------询问是否继续的函数-------------*/
char Continue()
{
char answer;
while(1)
{
printf("\n\t 您是否想继续(Y/N)?");
scanf("%s",&answer);
system("cls");
if(answer=='y'||answer=='Y')
return 'y';
else if(answer=='n'||answer=='N')
return 'n';
else
printf("\n\t输入有误,请重新输入!");
}
}
/*---------------操作出错函数---------------*/
void ErrorMess()
{
printf("\n\t对不起,您的操作有误!");
getch();
}
/*--------------系统退出函数---------------*/
int ExitSystem()
{
char answer;
printf("\n\t 您是否想要退出系统(Y/N)?");
scanf("%s",&answer);
if(answer=='y'||answer=='Y')
return 1;
else
return 0;
/*--------------航线查找函数-------------*/
/*Find_Line()为重载函数*/
int Find_Line(PFlight L,char *key)/*核对航线是否唯一*/
{
int flag=0; /*该标志位0表示未找到相关信息,反之即找到,以下标志位同理*/ Flight *p1;
p1=L; /*赋航线首地址*/
if(p1==p2) /*首航线不作比较*/
return flag;
while(p1!=p2&&p1!=NULL) /*本航班号不纳入比较范围,否则会一直提示航线不唯一*/
{
if(strcmp(p1->Flight_No,key)==0)
{
flag=1;
break;
}
p1=p1->Next;/*指向下一航班结点*/
}
return flag;
}
int Find_Line(PFlight L,char *key,PFlight &p2,int &Flight_No)/*航线查找函数*/
{
int flag=0; /*该标志位0表示未找到相关信息,反之即找到*/
Flight *p1;
p1=L; /*赋航线首结点*/
while(p1!=NULL)
{
if(strcmp(p1->Flight_No,key)==0)/*不包括当前航线*/
{
flag=1;
p2=p1;
break;
}
p1=p1->Next; /*指向下一航班结点*/
if(p1!=NULL) /*遇结束符不作统计范围*/
Flight_No++;
}
return flag;
}
/*---------------航班查找函数---------------*/
void Line_search()
{
Flight *p1;
p1=Head;
char Desname[50];//查询终点站航班关键字
if(Head==NULL)
{
printf("\n\t没有到达您想要的终点站的航班!");
getch();
return;
}
printf("\n\t请输入终点站名:");
scanf("%s",Desname);
printf("\n\t您所查询的航班的信息:\n");
printf("\n_____________________________________________________________________________\n");
while(p1!=NULL)
{
if(strcmp(p1->Des_Name,Desname)==0)
{
printf("Des_Name Flight_No Plane_No Week_Day Cust_Num Free_Num 1_Price 2_Price 3_Price\n");
printf("\n%-9s%-10s%-9s%-9d%-9d%-9d%-8d%-8d%-8d",p1->Des_Name,p1->Flight_No,p1->Plane_No,p1->Week_Day,
p1->Customer_Amount,p1->Free_Amount,p1->Price[0],p1->Price[1],p1->Price[2]); }
p1=p1->Next;
}
printf("\n______________________________________________________________________________\n");
Continue();
}
/*-----------------航线添加函数-------------*/
void Line_Add()
Flight *p1; /*建立临时航线结点*/
while(1)
{
if(Head==NULL)/*航线为空*/
{
p1=p2=new Flight; /*建立首个航线*/
Head=p2;
}
else
{
p1=new Flight; /*建立航线结点*/
p2->Next=p1; /*前一航线结点指向当前航班结点*/
p2=p1; /*保留当前航班结点地址*/
}
printf("\n\t添加新的航线!\n");
printf("\n\t请输入终点站名:");
scanf("%s",&p2->Des_Name);
while(1) /*数据合法性检验*/
{
printf("\n\t请输入唯一的航班号:");
scanf("%s",&p2->Flight_No);
if(Find_Line(Head,p2->Flight_No)) /*存在航班号*/
printf("\n\t航班号已经存在!\n");
else
break;
}
printf("\n\t请输入飞机号:");
scanf("%s",&p2->Plane_No);
while(1)
{
printf("\n\t请输入航班日期(请输入1 …… 此处隐藏:10511字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




