• 大小: 8KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: C/C++
  • 标签: C语言  

资源简介

用C语言实现的简单订票系统,C语言数据结构的课程设计

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#define OK 1 
#define ERROR 0 
typedef struct airline{             /*定义结构体airline*/
        char air_num[8]; 
        char end_place[20]; 
        char departure_time[8];
char arrival_time[8];
        int  total; 
        int  left; 
        struct airline *next;       /*开辟新结点(next是struct airline类型中的一个成员它又指向struct airline类型的数据)*/
}airline;   /*新类型名,代表上面指定的一个结构体类型*/
typedef struct customer{           /*定义结构体customer*/
        char name[8]; 
        char air_num[8]; 
        int  seat_num; 
        struct customer *next; 
}customer; 
airline *start_air()                 /*建立airline单链表*/

        airline *a;                  /*a为指向airline结构体类型数据的指针*/
        a=(airline*)malloc(sizeof(airline));  /*动态存储空间分配*/
        if(a==NULL) 
        a->next=NULL;
        return a; 

customer *start_cus()              /*建立customer单链表*/

        customer *c; 
        c=(customer*)malloc(sizeof(customer)); 
        if(c==NULL) 
        c->next=NULL; 
        return c; 

airline *modify_airline(airline *lchar *air_num)  /*修改航班信息函数*/

        airline *p; 
        p=l->next;       /*使p指向l的next结点*/
        while(p!=NULL)
{
if(strcmp(air_nump->air_num)==0)   /*strcmp比较字符串*/
{ p->left++;         /*得到p指向的结构体变量中的成员left的值,用完该值后使它加1,即left的值加1*/
  return l;
}
p=p->next;   /*使p指向p的next结点*/
}
        if(p==NULL)
printf(“NO the airline!“);
return 0;
}
int insert_air(airline **pchar *air_numchar *end_placechar *departure_timechar *arrival_timeint totalint left) /*插入航班信息函数*/
{              /*p是一个指针变量,它指向一个指向airline结构体类型数据的指针变量*/
        airline *q; 
        q=(airline*)malloc(sizeof(airline)); 
        strcpy(q->air_numair_num);    /*strcpy字符串复制函数*/
        strcpy(q->end_placeend_place);  
        strcpy(q->departure_timedeparture_time);
strcpy(q->arrival_timearrival_time);
        q->total=total; 
        q->left=left; 
        q->next=NULL; 
        (*p)->next=q; 
        (*p)=(*p)->next; 
        return OK; 
        } 
int  insert_cus(customer **pchar *namechar *air_numint seat_num) /*插入乘客信息函数*/

        customer *q; 
        q=(customer*)malloc(sizeof(customer)); 
        strcpy(q->namename); 
        strcpy(q->air_numair_num); 
        q->seat_num=seat_num; 
        q->next=NULL; 
        (*p)->next=q; 
        (*p)=(*p)->next; 
        return OK; 

int book(airline *achar *air_numcustomer *cchar *name)  /*订票函数*/

        airline *p=a;
        customer *q=c;  /*c指向结构体变量customer中的成员next的值赋给q指向的结构体变量customer*/
        for(;q->next!=NULL;q=q->next)
{}
while(p!=NULL)
{
if(p->left>0 && (strcmp(p->air_numair_num)==0)) 
            { 
                        printf(“定票成功您的座位号是 %d“(p->total-p->left+1));
                        insert_cus(&qnameair_nump->total-p->left+1); 
                        p->left--; /*得到p指向的结构体变量中的成员left的值,用完该值后使它减1

评论

共有 条评论