教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

数据结构课程设计(航空客运订票系统)

来源:网络收集 时间:2026-09-10
导读: (贵州大学计算机科学与信息学院贡献) #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]; /*姓名*/ in

(贵州大学计算机科学与信息学院贡献)

#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字,全部文档内容请下载后查看。喜欢就下载吧 ……

数据结构课程设计(航空客运订票系统).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1933732.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)