![航空订票系统C++数据结构课程设计报告_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/15/8d2b0773-d5dc-4c00-b824-5ddb86695835/8d2b0773-d5dc-4c00-b824-5ddb866958351.gif)
![航空订票系统C++数据结构课程设计报告_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/15/8d2b0773-d5dc-4c00-b824-5ddb86695835/8d2b0773-d5dc-4c00-b824-5ddb866958352.gif)
![航空订票系统C++数据结构课程设计报告_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/15/8d2b0773-d5dc-4c00-b824-5ddb86695835/8d2b0773-d5dc-4c00-b824-5ddb866958353.gif)
![航空订票系统C++数据结构课程设计报告_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/15/8d2b0773-d5dc-4c00-b824-5ddb86695835/8d2b0773-d5dc-4c00-b824-5ddb866958354.gif)
![航空订票系统C++数据结构课程设计报告_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/15/8d2b0773-d5dc-4c00-b824-5ddb86695835/8d2b0773-d5dc-4c00-b824-5ddb866958355.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.一 需求分析: 通过此系统可以实现如下功能:1. 航班信息录入每个航班信息包括航班号、起飞时间、降落时间、起飞地点、将落地点、票价、折扣、剩余票量。通过剩余票量可以确定该航班是否已满。2. 航班信息查询通过航班号或者起飞地点、降落地点查询所需要的航班信息。3. 订票输入姓名和所要订的航班的航班号订票。4. 退票输入姓名和所订的航班的航班号办理退票。5. 修改航班信息输入航班号修改该航班的起飞和降落时间以修改航班的起降时间。6. 退出退出的同时将信息写入文件。二 总体设计:结构体:struct flight /航班信息int a1; /航班号 string a2; /起飞时间 string a
2、3; /降落时间char a410; /起飞城市char a510; /降落城市int a6; /价格 int a7; /票价折扣 int a8; /余票fl10;struct customer /客户信息char name10; /定义字符型数组姓名name10 int seat; /定义整型变量座位号seat int num; /定义整型变量航班号numchar no18; /证件号noint ps; /订票数psstring qfs; /起飞时间qfsstring jls; /降落时间jlschar qfd10; /起飞城市qfdchar jld10; /降落城市jldint pj; /
3、票价pjcu200;使用的函数:void luru(); /声明录入函数void chaxun(); /声明查询函数void chaxun1(); /声明查询方式1函数void chaxun2(); /声明按查询方式2函数void dingpiao(); /声明订票函数void tuipiao(); /声明退票函数void xiugai(); /声明修改函数void menu(); /声明主菜单函数void duqu(); /声明文件读取函数void tuichu(); /声明退出并保存函数通过各个函数的调用以实现航班信息录入,航班信息查询,订票,退票,修改航班信息。三 详细设计:1. 系统结
4、构图(功能模块图)主函数航班信息修改退出系统航班退票航班订票航班信息查询航班信息录入2. 功能模块说明:(1). 将航班的基本信息录入到系统中。(2). 根据航班号或者根据起飞地点、降落地点查询所需航班信息。(3). 输入姓名和所要订的航班的航班号订票。(4). 输入姓名和所订的航班的航班号办理退票。(5). 输入航班号修改该航班的起飞和降落时间以修改航班的起降时间。(6). 退出的同时将信息写入文件。四 代码:#include<iostream>#include<string>#include<fstream>using namespace std;str
5、uct flight /航班信息int a1; /航班号 string a2; /起飞时间 string a3; /降落时间char a410; /起飞城市char a510; /降落城市int a6; /价格 int a7; /票价折扣 int a8; /余票fl10;struct customer /客户信息char name10; /定义字符型数组姓名name10 int seat; /定义整型变量座位号seat int num; /定义整型变量航班号numchar no18; /证件号noint ps; /订票数psstring qfs; /起飞时间qfsstring jls; /降落
6、时间jlschar qfd10; /起飞城市qfdchar jld10; /降落城市jldint pj; /票价pjcu200;int cnum=3;int len=0;int A=0;void luru(); /声明录入函数void chaxun(); /声明查询函数void chaxun1(); /声明查询方式1函数void chaxun2(); /声明按查询方式2函数void dingpiao(); /声明订票函数void tuipiao(); /声明退票函数void xiugai(); /声明修改函数void menu(); /声明主菜单函数void duqu(); /声明文件读取函数
7、void tuichu(); /声明退出并保存函数void luru() /航班信息录入 cout<<"请输入航班信息:"<<endl;cout<<"请输入航班号"<<endl;cin>>fllen.a1; /录入航班号 cout<<"起飞时间"<<endl;cin>>fllen.a2; /录入起飞时间cout<<"降落时间"<<endl;cin>>fllen.a3; /录入降落时间c
8、out<<"起飞城市"<<endl;cin>>fllen.a4; /录入起飞城市cout<<"降落城市"<<endl;cin>>fllen.a5; /录入降落城市cout<<"票价"<<endl;cin>>fllen.a6; /录入票价cout<<"折扣"<<endl;cin>>fllen.a7; /录入机票折扣cout<<"剩余票量"<
9、;<endl;cin>>fllen.a8; /录入剩余票量len+; cout<<"请选择所要进行的操作"<<endl; menu(); /录入完成跳转回菜单选择操作void chaxun() /查询system("cls");cout<<"请选择查询方式"<<endl;cout<<"1.按航班号查询"<<endl;cout<<"2.按城市查询"<<endl;int t;cin>
10、;>t; /选择查询方式switch(t)case 1:chaxun1();break;case 2:chaxun2();break;default:cout<<"输入的数据有误,请重新输入!"<<endl;menu(); /输入错误返回主菜单重新输入break;void chaxun1() /按航班号查询航班信息 int n;cout<<"请输入要查询的航班号:"<<endl;cin>>n;for(int j=0;j<len;j+)if(flj.a1=n)cout<<&
11、quot;*航班信息*"<<endl<<"航班号:"<<flj.a1<<'t'<<"起飞时间:"<<flj.a2<<'t'<<"降落时间:"<<flj.a3<<'t'<<"起飞城市:"<<flj.a4<<'t'<<"降落城市:"<<flj.a5&
12、lt;<'t'<<"票价:"<<flj.a6<<'t'<<"折扣:"<<flj.a7<<'t'<<"剩余票量:"<<flj.a8<<endl;break; /输出航班信息elsecout<<"没有对应的航班!"<<endl;getchar();menu();void chaxun2() /按起飞城市和降落城市查询航班信息char m
13、110,m210;int j;cout<<"请输入要查询的起始、降落城市:"<<endl;cin>>m1>>m2; /输入起始城市和降落城市for(j=0;j<len;j+)if(strcmp(flj.a4,m1)=0)&&(strcmp(flj.a5,m2)=0)cout<<"*航班信息*"<<endl<<"航班号:"<<flj.a1<<'t'<<"起飞时间:&quo
14、t;<<flj.a2<<'t'<<"降落时间:"<<flj.a3<<'t'<<"起飞城市:"<<flj.a4<<'t'<<"降落城市:"<<flj.a5<<'t'<<"票价:"<<flj.a6<<'t'<<"折扣:"<<flj.
15、a7<<'t'<<"剩余票量:"<<flj.a8<<endl;break;/输出航班信息 if(j=10) cout<<"没有对应的航班!"<<endl;menu();void dingpiao() /订票 char Name10; int fn;int sign=0; cout<<"请输入你的姓名和想订的航班号:"<<endl; cin>>Name; /输入乘客姓名 cin>>fn; /输入乘客所要
16、订的航班号for(int i=0;i<len;i+)if(fli.a1=fn) if(fli.a8>0) strcpy(cuA.name,Name);cuA.num=fn;cuA.seat=fli.a8;A+;fli.a8-;sign=1;cout<<"订票成功!"<<endl;break;if(sign) break;if(i=len)cout<<"航班号错误!"<<endl;void tuipiao() /退票system("cls");char Name10;int f
17、n;int sign=0; cout<<"请输入你的姓名:"cin>>Name; /输入乘客姓名 cout<<"请输入航班号:"cin>>fn;cout<<endl; /输入乘客所订的航班的航班号 for(int i=0;i<len;i+)if(fn=fli.a1)for(int j=0;j<A;j+)if(strcmp(Name,)=0)cout<<" 退票成功!"<<endl;fli.a8+;sign=1;break;i
18、f(sign)break;if(i=len) cout<<"输入信息有误!退票失败"<<endl; void xiugai() /修改航班信息cout<<"输入航班号:"<<endl; int num;cin>>num;for(int i=0;i<len;i+)if(fli.a1=num)num=i; cout<<"起飞时间:"cin>>flnum.a2;cout<<"达到时间:"cin>>flnum.
19、a3;cout<<endl;break; if(i=len)cout<<"航班号错误!"<<endl;void tuichu() /退出时保存录入和更改信息 ofstream nfile2("cus.dat",ios_base:binary); /输出方式打开文件 nfile2.close(); /关闭文件ofstream infile2("cus.dat",ios_base:binary|ios_base:app); /输入方式打开文件 for(int i=0;i<A;i+)infile2.
20、write(reinterpret_cast<char *>(&cui),sizeof(customer);cout<<"写入成功!"<<endl;/将乘客信息写入文件infile2.close(); /关闭文件ofstream nfile1("airline.dat",ios_base:binary); /输出方式打开文件nfile1.close(); /关闭文件 ofstream infile1("airline.dat",ios_base:binary|ios_base:app); /
21、输出方式打开文件for( i=0;i<len;i+) infile1.write(reinterpret_cast<char *>(&fli),sizeof(flight);/将航班信息写入文件infile1.close(); /关闭文件void duqu() /读取文件信息 ifstream infile1("airline.dat",ios_base:binary); while(infile1.peek()!=EOF)infile1.read(reinterpret_cast<char *>(&fllen),sizeof(
22、flight);/输入方式读取文件cout<<"*航班信息*"<<endl<<"航班号:"<<fllen.a1<<'t'<<"起飞时间:"<<fllen.a2<<'t'<<"降落时间:"<<fllen.a3<<'t'<<"起飞城市:"<<fllen.a4<<'t'&l
23、t;<"降落城市:"<<fllen.a5<<'t'<<"票价:"<<fllen.a6<<'t'<<"折扣:"<<fllen.a7<<'t'<<"剩余票量:"<<fllen.a8<<endl;len+; infile1.close();/关闭文件ifstream infile2("cus.dat",ios_base
24、:binary); while(infile2.peek()!=EOF)infile2.read(reinterpret_cast<char *>(&cuA+),sizeof(customer); /输入方式读取文件infile2.close(); /关闭文件getchar();system("cls");void menu()cout<<"*航班订票系统*"<<endl;cout<<""<<endl;cout<<"1.录入航班信息"<<endl;cout<<"2.查询航班信息"<<endl;cout<<"3.订票"<<endl;cout<<"4.退票"<<endl;cout<<"5.修改航班信息"<<endl;cout<<"6.退出系统"<<endl;cout<<""<<endl;cout<<"*"<<en
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《预应力混凝土施工》课件
- 《上汽培训资料》课件
- 2025年泰州货运从业资格证模拟考试题库下载
- 年度财务总结报告模板
- 幼教课程创新开设和利用论文
- 新员工企业文化培训模板
- 美容特训申请书
- 申请律师执业申请书
- 国家基金申请书
- 大学生创业摆摊项目计划书
- 振动振动测试基础知识培训课件
- 教学设计 分数的再认识 省赛一等奖
- sbl-ep16高低压开关柜培训中法文kyn6140.5安装使用说明书
- DBJ51-T 151-2020 四川省海绵城市建设工程评价标准
- GB/T 3795-2006锰铁
- GB/T 31329-2014循环冷却水节水技术规范
- 全科医疗服务模式及服务内容课件
- 京东1+X理论考试试题及答案
- 人教版四年级下册数学应用题练习全
- 清新淡雅简洁通用模板课件
- 北京市乡镇卫生院街道社区卫生服务中心地址医疗机构名单(344家)
评论
0/150
提交评论