数据结构课程设计之航空订票系统

/*****************************************************
* 版权所有(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;
    
  • 30
    点赞
  • 166
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值