资源简介
通过此系统可以实现如下功能:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
订票:(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票: 可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件
根据以上功能要求,设计航班信息,订票信息的存储结构,设计程序完成功能。
代码片段和文件信息
#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;
相关资源
- 数据结构课程设计c++排序算法的比较
- 数据结构课程设计c++图书管理系统源
- 操作系统课程设计SPOOLING技术C语言版
- C语言系统课程设计报告
- c++课程设计之图书管理系统
- 基于C++数据结构编写的航空订票系统
- 八皇后问题课程设计C++版
- C语言课程设计之繁华曲线
- C语言课程设计之波形显示
- C语言 学生信息管理系统 课程设计实
- c++学籍管理系统 课程设计报告
- C语言课程设计小学生四则运算
- 东南大学 MFC 课程设计 图书管理系统
- 学生信息管理系统C++课程设计,适合
- 大学C语言课程设计之信息发布平台
- 数据库课程设计C语言
- C语言课程设计案例精编(14个经典案
- 操作系统模拟Shell课程设计报告
- C++课程设计——停车场管理
- C语言学生通讯录管理系统
- C语言课程设计之个人财务管理系统
- TelBook.cpp通讯录课程设计
- 教室信息管理系统
- c语言课程设计-职工工资管理系统
- C++公司人事管理课程设计
- C语言课程设计文本编辑器
- 数据结构大作业(C语言)实验报告
- 迷宫问题的课程设计报告
- 基本图形填充课程设计报告+代码
- C++课程设计——银行储蓄管理系统
评论
共有 条评论