700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 飞机订票系统源代码

飞机订票系统源代码

时间:2024-06-06 00:36:16

相关推荐

飞机订票系统源代码

问题及代码:

/*****************************************************版权所有(C),张思琦*文件名称:飞机订票系统*文件标识:无*内容摘要:实现录入航班信息、订票、退票、预约、*查询航班、查询订单、查看预约、修改航班功能。*其他内容:无*当前版本:VC++6.0*作者:zsq*完成日期:.12.21*修改记录:无****************************************************/

1、plane.h的代码

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>typedefstructflightnode{charflight_num[10];//航班号charstart_time[15];//起飞时间charend_time[15];//抵达时间charstart_place[20];//起飞城市charend_place[20];//降落城市intleft;//空座数floatprice;//票价intifull;//航班是否满仓structflightnode*next;//指向下一节点}flightnode;typedefstructpassengernode{charname[20];//姓名charID_num[20];//证件号charflight_num[10];//航班号intorder_num;//订单号intticket_num;//订票数量structpassengernode*next;//指向下一节点}passengernode;typedefstructpassengerList{passengernode*head;passengernode*rear;}passengerList;typedefstructwaitnode{charname[20];//姓名charphone[20];//手机号charflight_num[10];//航班号intticket_num;//订票数量intorder_num;//预约排队号structwaitnode*next;//指向下一节点}waitnode;typedefstructwaitList{waitnode*front;waitnode*rear;}waitList;voidinit_flight(flightnode*&h);//建立以h为头结点的空链表,录入航班信息和增加航班后将航班结点插入该链表voidinit_passengerList(passengerList*&pList);//建立一个带有头尾指针的空链表,存储带有顾客信息的节点voidinit_waitList(waitList*&wList);//建立一个带有头尾指针的空链表,存储带有预约客户信息的节点voidsave_flight(flightnode*h);//保存航班信息到指定的数据文件中voidload_flight(flightnode*&h);//从存储航班信息的文件导入航班信息到航班链表中voidsave_passenger(passengerList*PList);//保存客户信息到指定数据文件中voidload_passenger(passengerList*&PList);//从存储客户信息的文件导入客户信息到客户链表中voidsave_wait(waitList*WList);//保存预约客户信息到指定数据文件中voidload_wait(waitList*&WList);//从存储预约客户信息的文件导入预约客户信息到预约客户链表中voidadd_flight(flightnode*&h);//录入航班信息后调用insert_flight函数增加航班//录入航班情况或增加新的航班后,将新的航班结点插入到航线链表中voidinsert_flight(flightnode*&h,char*flight_num,char*start_place,char*end_place,char*start_time,char*end_time,intleft,floatprice,intifull);//完成客户订票,将客户结点插入客户链表,并修改相应的航班信息intbook(flightnode*&h,passengerList*&PList,waitList*WList);//客户订票时输入的航班号对应航班已满,提供其他可选航班并输出显示intfind_same_flight(flightnode*h,char*flight_num);//在客户订票后,将该客户结点插入到客户链表,并修改相应航班信息voidinsert_passengerList(flightnode*&h,passengerList*&PList,char*name,char*ID_num,char*flight_num,intticket_num);//在客户预约票后,将该预约客户结点插入到预约客户链表voidinsert_waitList(waitList*&WList,char*name,char*phone,char*flight_num,intticket_num,intorder_num);//完成退票,将订单从客户链表删除并修改相应航班信息voidcancel(passengerList*&PList,flightnode*&h);//按照要退票的客户姓名和证件号查找该客户结点,进行删除操作intdelete_passenger(passengerList*&PList,flightnode*&h,char*name,char*ID_num);voidflight_check(flightnode*h);//选择使用何种方式对航班信息进行查询voidcheck_all_flight(flightnode*h);//浏览所有航班信息intplace_check(flightnode*h,char*start_place,char*end_place);//按照起飞抵达城市查询航班信息intflight_num_check(flightnode*h,char*flight_num);//按照航班号查询航班信息voidpassenger_check(passengerList*PList);//选择使用何种方式查询订单信息voidcheck_all_passenger(passengerList*PList);//浏览所有订单信息intID_name_check(passengerList*PList,char*name,char*ID_num);//按客户姓名和证件号查询订单信息voidcheck_all_wait(waitList*WList);//浏览所有预约客户信息voidmodify_flight(flightnode*&h,passengerList*&PList);//修改航班信息voiddelete_flight(flightnode*&h,passengerList*&PList);//按照某个航班号删除航班结点voidmodify_flight_time(flightnode*&h,passengerList*&PList);//修改航班时间

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>typedef struct flightnode{char flight_num[10];//航班号char start_time[15];//起飞时间char end_time[15];//抵达时间char start_place[20];//起飞城市char end_place[20];//降落城市int left;//空座数float price;//票价int ifull;//航班是否满仓struct flightnode *next;//指向下一节点}flightnode;typedef struct passengernode{char name[20];//姓名char ID_num[20];//证件号char flight_num[10];//航班号int order_num;//订单号int ticket_num;//订票数量struct passengernode *next;//指向下一节点}passengernode;typedef struct passengerList{passengernode *head;passengernode *rear;}passengerList;typedef struct waitnode{char name[20];//姓名char phone[20];//手机号char flight_num[10];//航班号int ticket_num;//订票数量int order_num;//预约排队号struct waitnode *next;//指向下一节点}waitnode;typedef struct waitList{waitnode *front;waitnode *rear;}waitList;void init_flight(flightnode *&h);//建立以h为头结点的空链表,录入航班信息和增加航班后将航班结点插入该链表void init_passengerList(passengerList *&pList);//建立一个带有头尾指针的空链表,存储带有顾客信息的节点void init_waitList(waitList *&wList);//建立一个带有头尾指针的空链表,存储带有预约客户信息的节点void save_flight(flightnode *h);//保存航班信息到指定的数据文件中void load_flight(flightnode *&h);//从存储航班信息的文件导入航班信息到航班链表中void save_passenger(passengerList *PList);//保存客户信息到指定数据文件中void load_passenger(passengerList *&PList);//从存储客户信息的文件导入客户信息到客户链表中void save_wait(waitList *WList);//保存预约客户信息到指定数据文件中void load_wait(waitList *&WList);//从存储预约客户信息的文件导入预约客户信息到预约客户链表中void add_flight(flightnode *&h);//录入航班信息后调用insert_flight函数增加航班//录入航班情况或增加新的航班后,将新的航班结点插入到航线链表中void insert_flight(flightnode *&h, char *flight_num, char *start_place, char *end_place, char *start_time, char *end_time, int left, float price, int ifull);//完成客户订票,将客户结点插入客户链表,并修改相应的航班信息int book(flightnode *&h,passengerList *&PList,waitList *WList);//客户订票时输入的航班号对应航班已满,提供其他可选航班并输出显示int find_same_flight(flightnode *h,char *flight_num);//在客户订票后,将该客户结点插入到客户链表,并修改相应航班信息void insert_passengerList(flightnode *&h, passengerList *&PList, char *name, char *ID_num, char *flight_num, int ticket_num);//在客户预约票后,将该预约客户结点插入到预约客户链表void insert_waitList(waitList *&WList, char *name, char *phone, char *flight_num, int ticket_num,int order_num);//完成退票,将订单从客户链表删除并修改相应航班信息void cancel(passengerList *&PList,flightnode *&h);//按照要退票的客户姓名和证件号查找该客户结点,进行删除操作int delete_passenger(passengerList *&PList,flightnode *&h, char *name, char *ID_num);void flight_check(flightnode *h);//选择使用何种方式对航班信息进行查询void check_all_flight(flightnode *h);//浏览所有航班信息int place_check(flightnode *h, char *start_place, char *end_place);//按照起飞抵达城市查询航班信息int flight_num_check(flightnode *h, char *flight_num);//按照航班号查询航班信息void passenger_check(passengerList *PList);//选择使用何种方式查询订单信息void check_all_passenger(passengerList *PList);//浏览所有订单信息int ID_name_check(passengerList *PList, char *name, char *ID_num);//按客户姓名和证件号查询订单信息void check_all_wait(waitList *WList);//浏览所有预约客户信息void modify_flight(flightnode *&h, passengerList *&PList);//修改航班信息void delete_flight(flightnode *&h, passengerList *&PList);//按照某个航班号删除航班结点void modify_flight_time(flightnode *&h, passengerList *&PList);//修改航班时间

2、plane.cpp的代码

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#include"plane.h"//建立以h为头结点的空链表,录入航班信息和增加航班后将航班结点插入该链表voidinit_flight(flightnode*&h){h=(flightnode*)malloc(sizeof(flightnode));//申请头结点空间if(h==NULL)exit(0);h->next=NULL;//将头结点h的指针域置为空}//建立一个带有头尾指针的空链表,存储带有客户信息的节点voidinit_passengerList(passengerList*&pList){pList=(passengerList*)malloc(sizeof(passengerList));pList->head=(passengernode*)malloc(sizeof(passengernode));//创建头结点pList->rear=pList->head;pList->rear->order_num=0;//订单号从0开始计数pList->head->next=NULL;}//建立一个带有头尾指针的空队,存储带有预约客户信息的节点voidinit_waitList(waitList*&wList){wList=(waitList*)malloc(sizeof(waitList));wList->front=(waitnode*)malloc(sizeof(waitnode));//创建头结点wList->rear=wList->front;wList->rear->order_num=0;//预约排队号从0开始计数wList->front->next=NULL;}//保存航班信息到指定的数据文件中voidsave_flight(flightnode*h){FILE*fp=fopen("flightList.dat","wb");//以只写(wb)的方式打开名为flightList.dat的文件if(fp==NULL)return;flightnode*temp=h->next;while(temp!=NULL){fwrite(temp,sizeof(flightnode),1,fp);//向其中写入temp(temp是指针)地址的l个flightnode类型的数据temp=temp->next;}fclose(fp);//关闭fp指向的文件}//从存储航班信息的文件导入航班信息到航班链表中voidload_flight(flightnode*&h){flightnode*pt=h;FILE*fp=fopen("flight.dat","rb");if(fp==NULL)return;flightnode*q;intn;while(!feof(fp))//文件指针没有到达文件末尾(最后一个字符的下一个位置,即读失败时的位置){q=(flightnode*)malloc(sizeof(flightnode));n=fread(q,sizeof(flightnode),1,fp);//将写入的数据读取出来if(n!=1)break;pt->next=q;pt=q;}pt->next=NULL;fclose(fp);}//保存已订票客户信息到指定数据文件中voidsave_passenger(passengerList*PList){FILE*fp=fopen("passenger.dat","wb");if(fp==NULL)return;passengernode*temp=PList->head->next;while(temp!=NULL){fwrite(temp,sizeof(passengernode),1,fp);//向其中写入temp(temp是指针)地址的l个passengernode类型的数据temp=temp->next;}fclose(fp);//关闭fp指向的文件}//从存储客户信息的文件导入客户信息到客户链表中voidload_passenger(passengerList*&PList){FILE*fp=fopen("passenger.dat",

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。