/*****************************************************
* 版权所有(C)2015,马笑媛
*
*文件名称:A.C 航空售票系统
*文件标识:无
*内容摘要:航空售票系统
*其他说明:无
*当前版本:V1.0
*作者:马笑媛
*完成日期:2015.12.25
*
******************************************************/
#include<iostream>
#include<fstream>
using namespace std;
#include<stdlib.h>
#include<string.h>
/*****************************************************
*功能描述:定义客户信息
*输入参数:name,id,line_num,time1,time2,seat_num
*输出参数:client
txt文件
******************************************************/
typedef struct client
{
char name[20];//顾客名
char id[10];//顾客证件号
char line_num[10];//航班号
char time1[10];//起飞时间
char time2[10];//降落时间
int seat_num;//座位号
struct client *next;//下一个结点
} client;
//头结点
typedef struct clienthead
{
int count;
client *next;
} clienthead;
/*****************************************************
*功能描述:定义航班信息
*输入参数:line_num,time1,time2,seat_num,start_place,end_place,total
*输出参数:airline
txt
******************************************************/
typedef struct airline
{
char line_num[10];//航班号
char start_place[20];//起飞地
char end_place[20];//目的地
char time1[10];//起飞时间
char time2[10];//降落时间
int total;//座位总数
int left;//剩余座位
struct airline *next;//下一个结点
} airline;
//头结点
typedef struct airlinehead
{
int count;
airline *next;
} airlinehead;
/*****************************************************
*功能描述:录入航班函数
*输入参数:line_num,start_place,end_place,time1,time2,total,left
*输出参数:第i+1个航班录入
******************************************************/
airlinehead* import(int n,airlinehead *pheadline)//录入航班函数: n为所要录入航班的数量:
{
airline *temp = new airline;
temp->next=NULL;
pheadline->next=temp;
pheadline->count = n;
for(int i=0; i<n; i++)
{
cout<<"请输入第"<<i+1<<"个航班的航班号 ";
cin>>temp->line_num;
cout<<"请输入第"<<i+1<<"个航班的起飞地 ";
cin>>temp->start_place;
cout<<"请输入第"<<i+1<<"个航班的目的地 ";
cin>>temp->end_place;
cout<<"请输入第"<<i+1<<"个航班的起飞时间";
cin>>temp->time1;
cout<<"请输入第"<<i+1<<"个航班的降落时间";
cin>>temp->time2;
cout<<"请输入第"<<i+1<<"个航班的座位总数 ";
cin>>temp->total;
cout<<"本航班的剩余座位数:"<<left<<endl;
temp->left=temp->total;
cout<<"第"<<i+1<<"个航班成功录入。"<<endl;
if(i<n-1)
{
temp->next = new airline;
if(temp->next == NULL)
{
cout<<"分配内存失败"<<endl;
exit(1);
}
temp->next->next=NULL;
temp = temp->next;
}
}
return pheadline;
}
/*****************************************************
*功能描述:查询航班功能
*输入参数:select,1,2
*输出参数:航班号,起飞地,抵达地,起飞时间,降落时间,座位数,剩余座数
*返回值:temp-成功,NULL-失败
******************************************************/
airline* query(airlinehead *phead )//查询航班情况
{
airline *find=NULL;
airline *temp;
cout<<"**********************************"<<endl;
cout<<"* 1,按航线查询航班情况。 *"<<endl;
cout<<"* 2,按起飞抵达城市查询航班情况。 *"<<endl;
cout<<"**********************************"<<endl;
cout<<"请选择:";
int select;
cin>>select;
cout<<endl;
switch(select)
{
case 1:
{
cout<<"请输入航班号:";
char line_num[10];
cin>>line_num;
temp = phead->next;
while(temp )
{
if(strcmp(temp->line_num,line_num) == 0)
{
find= temp;
//display_line(find);
return temp;
break;
数据结构课程设计之航空订票系统
最新推荐文章于 2023-05-22 15:52:23 发布
本文介绍了使用数据结构进行航空订票系统课程设计的实践过程,详细阐述了如何运用数据结构来实现机票预订、查询及退票等功能,旨在提升对数据结构应用的理解。
摘要由CSDN通过智能技术生成