资源简介

通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票: 可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 根据以上功能要求,设计航班信息,订票信息的存储结构,设计程序完成功能。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
using namespace std;
struct flight_information /*航班信息结构体*/ 
{
char number[10];               //航班号 
char time_go[7];             //起飞时间 
char time_to[7];            //降落时间  
char starting[10];          //始发站 
char terminus[10];         //终到站 
int price;                //票价 
float discount;          //折扣 
int total;              //总票数 
int odd;               //余票数 
struct flight_information * next; 
};/*航班信息*/ 

struct customer_information /*乘客信息结构体*/ 
{
char name[10];                //客户姓名 
char numb_id[10];            //证件号 
int amount;                 //购票数  
char number[10];           //订票航班号
char date[12];            //出发日期 
char numb_ord[6];             //订单号 
struct customer_information * next; 
};/*顾客信息*/ 

typedef struct flight_information f_info; //结构体起别名名 
typedef struct customer_information c_info; //同上 


void insert(); //添加航班函数声明 
void update(); //更新航班函数声明 
void query(); //查询航班声明 
void query_num();//按航班号查询声明 
void query_start(); //按始发地查询的函数声名 
void cus_query();//顾客订单查询 
void disinfo(f_info *);//显示航班信息 
void book();   //订票 
void refund(); //退票 
f_info * read_p(); //从文件读取航班信息链表 
c_info * read_c(); //从文件读取顾客信息链表 
void write_p(f_info *); //将航班信息链表写入文件 
void write_c(c_info *);//将顾客信息链表写入文件 
void free_p(f_info *); //释放航班信息链表 
void free_c(c_info *);//释放顾客信息链表 
char* getodd(char[]);//获得订单号 
void disinfo(c_info *c);//打印订单 

int main()  //主函数,程序入口 
 {
 
  int choice; 
do 
{   
    system(“cls“);
cout<<“欢迎来到订票系统“< cout<<“[1] 录入航班信息“< cout<<“[2] 修改航班信息“< cout<<“[3] 查询航班信息“< cout<<“[4] 顾客订票“< cout<<“[5] 顾客退票“< cout<<“[6] 顾客订单查询“< cout<<“[0] 退出订票系统“< cout<<“****************************************\n“; 
cout<<“请选择:“; 
cin>>choice; 
system(“cls“); 
switch(choice) 
{
case 0: exit(0); 
case 1: insert(); break; 
case 2: update(); break; 
case 3: query(); break; 
case 4: book(); break; 
case 5: refund(); break;
case 6: cus_query();break;
default: cout<<“您的输入有误,请重新选择:“<
}while(1);
 }

void insert() //插入航班信息 

char choice; 
FILE * fp;  
if((fp=fopen(“d:\\plane.txt““ab“))==NULL) //打卡文件 

fp=fopen(“d:\\plane.txt““wb“); 
}
f_info *p=read_p()*f;//航班信息结构体指针
do 

f=(f_info *)malloc(sizeof(f_info)); //申请一个结构体大小的空间  
f->next=NULL;
fflush(stdin);
cout<<“航班号(char):“; //输入一个航班号,以备查询 
cin>>f->number;
while(p!=NULL)//从头指针开始,往下遍历查找 
{
while(strcmp(f->numberp->number)==0) //如果,当前航班号已存在,则不能添加 
{
cout<<“该航班已存在,请重新输入!“< cin>>f->number;
}
p=p->next;
}
/*输入添加航班的信息*/ 
cout<<“起飞时间(hh:mm):“;
cin>>f->time_go;    
cout<<“抵达时间(hh:mm):“;
cin>>f->time_to;
cout<<“始发地(char):“;
cin>>f->starting;
cout<<“目的地(char):“;
cin>>f->terminus;

评论

共有 条评论