航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx

上传人:b****5 文档编号:19676261 上传时间:2023-01-08 格式:DOCX 页数:17 大小:298.96KB
下载 相关 举报
航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx_第1页
第1页 / 共17页
航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx_第2页
第2页 / 共17页
航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx_第3页
第3页 / 共17页
航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx_第4页
第4页 / 共17页
航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx

《航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

航空订票管理系统程序设计实验报告汇编Word格式文档下载.docx

stringa2;

//起飞时间

stringa3;

//降落时间

chara4[10];

//起飞城市

chara5[10];

//降落城市

inta6;

//价格

inta7;

//票价折扣

inta8;

//余票

}fl[10];

structcustomer//客户信息

charname[10];

//定义字符型数组姓名name[10]

intseat;

//定义整型变量座位号seat

intnum;

//定义整型变量航班号num

charno[18];

//证件号no

intps;

//订票数ps

stringqfs;

//起飞时间qfs

stringjls;

//降落时间jls

charqfd[10];

//起飞城市qfd

charjld[10];

//降落城市jld

intpj;

//票价pj

}cu[200];

使用的函数:

voidluru();

//声明录入函数

voidchaxun();

//声明查询函数

voidchaxun1();

//声明查询方式1函数

voidchaxun2();

//声明按查询方式2函数

voiddingpiao();

//声明订票函数

voidtuipiao();

//声明退票函数

voidxiugai();

//声明修改函数

voidmenu();

//声明主菜单函数

voidduqu();

//声明文件读取函数

voidtuichu();

//声明退出并保存函数

通过各个函数的调用以实现航班信息录入,航班信息查询,订票,退票,修改航班信息。

1.系统结构图(功能模块图)

2.功能模块说明:

(1).将航班的基本信息录入到系统中。

(2).根据航班号或者根据起飞地点、降落地点查询所需航班信息。

(3).输入姓名和所要订的航班的航班号订票。

(4).输入姓名和所订的航班的航班号办理退票。

(5).输入航班号修改该航班的起飞和降落时间以修改航班的起降时间。

(6).退出的同时将信息写入文件。

#include<

iostream>

string>

fstream>

usingnamespacestd;

intcnum=3;

intlen=0;

intA=0;

voidshanchu();

//生命删除函数

voidluru()//航班信息录入

{

cout<

<

"

请输入航班信息:

endl;

请输入航班号"

cin>

>

fl[len].a1;

//录入航班号

起飞时间"

fl[len].a2;

//录入起飞时间

降落时间"

fl[len].a3;

//录入降落时间

起飞城市"

fl[len].a4;

//录入起飞城市

降落城市"

fl[len].a5;

//录入降落城市

票价"

fl[len].a6;

//录入票价

折扣"

fl[len].a7;

//录入机票折扣

剩余票量"

fl[len].a8;

//录入剩余票量

len++;

请选择所要进行的操作"

menu();

//录入完成跳转回菜单选择操作

}

voidchaxun()//查询

{system("

cls"

);

请选择查询方式"

1.按航班号查询"

2.按城市查询"

intt;

t;

//选择查询方式

switch(t)

{

case1:

chaxun1();

break;

case2:

chaxun2();

default:

cout<

输入的数据有误,请重新输入!

menu();

//输入错误返回主菜单重新输入

}

voidchaxun1()//按航班号查询航班信息

intn;

请输入要查询的航班号:

n;

for(intj=0;

j<

len;

j++)

if(fl[j].a1==n)

{

cout<

***航班信息****"

endl<

航班号:

fl[j].a1<

'

\t'

起飞时间:

fl[j].a2<

降落时间:

fl[j].a3<

起飞城市:

fl[j].a4<

降落城市:

fl[j].a5<

票价:

fl[j].a6<

折扣:

fl[j].a7<

剩余票量:

fl[j].a8<

break;

}//输出航班信息

else

没有对应的航班!

getchar();

voidchaxun2()//按起飞城市和降落城市查询航班信息

charm1[10],m2[10];

intj;

请输入要查询的起始、降落城市:

m1>

m2;

//输入起始城市和降落城市

for(j=0;

if((strcmp(fl[j].a4,m1)==0)&

&

(strcmp(fl[j].a5,m2)==0))

{cout<

break;

}//输出航班信息

if(j==10)

{cout<

voiddingpiao()//订票

charName[10];

intfn;

intsign=0;

请输入你的姓名和想订的航班号:

Name;

//输入乘客姓名

fn;

//输入乘客所要订的航班号

for(inti=0;

i<

i++)

{if(fl[i].a1==fn)

if(fl[i].a8>

0)

{strcpy(cu[A].name,Name);

cu[A].num=fn;

cu[A].seat=fl[i].a8;

A++;

fl[i].a8--;

sign=1;

订票成功!

if(sign)break;

if(i==len)cout<

航班号错误!

voidtuipiao()//退票

intfn;

请输入你的姓名:

;

cin>

请输入航班号:

//输入乘客所订的航班的航班号

{if(fn==fl[i].a1)

for(intj=0;

A;

if(strcmp(Name,cu[j].name)==0)

{cout<

退票成功!

fl[i].a8++;

if(sign)break;

if(i==len)cout<

输入信息有误!

退票失败"

}

voidxiugai()//修改航班信息

输入航班号:

num;

if(fl[i].a1==num){num=i;

起飞时间:

fl[num].a2;

达到时间:

fl[num].a3;

voidshanchu()//删除航班信息

for(inti=0;

if(fl[i].a1==num)

{num=i;

break;

voidtuichu()//退出时保存录入和更改信息

ofstreamnfile2("

cus.dat"

ios_base:

:

binary);

//输出方式打开文件

nfile2.close();

//关闭文件

ofstreaminfile2("

binary|ios_base:

app);

//输入方式打开文件

i++)

{infile2.write((reinterpret_cast<

char*>

(&

cu[i])),sizeof(customer));

写入成功!

}//将乘客信息写入文件

infile2.close();

ofstreamnfile1("

airline.dat"

//输出方式打开文件

nfile1.close();

ofstreaminfile1("

for(i=0;

infile1.write((reinterpret_cast<

fl[i])),sizeof(flight));

//将航班信息写入文件

infile1.close();

voidduqu()//读取文件信息

ifstreaminfile1("

while(infile1.peek()!

=EOF)

{

infile1.read((reinterpret_cast<

fl[len])),sizeof(flight));

//输入方式读取文件

fl[len].a1<

fl[len].a2<

fl[len].a3<

fl[len].a4<

fl[len].a5<

fl[len].a6<

fl[len].a7<

fl[len].a8<

infile1.close();

//关闭文件

ifstreaminfile2("

while(infile2.peek()!

{infile2.read((reinterpret_cast<

cu[A++])),sizeof(customer));

}//输入方式读取文件

getchar();

system("

voidmenu()

*******************航班订票系统*********************"

1.录入航班信息"

2.查询航班信息"

3.订票"

4.退票"

5.修改航班信息"

6.删除航班信息"

7.退出系统"

****************************************************"

//菜单界面

inti;

输入选项:

i;

//选择菜单

switch(i)

luru();

chaxun();

case3:

dingpiao();

menu();

case4:

tuipiao();

case5:

xiugai();

case6:

tuichu();

exit

(1);

//退出

输入的选项不合法,请重新输入"

system("

//清屏

voidmain()

cout<

读取"

duqu();

//跳转至读取航班信息文件

//菜单

1.运行程序:

因为之前没有进行航班信息的录入,起始读取信息为空

按任意键进入菜单

2..录入航班信息:

键入1,录入航班信息,输入完成后跳出菜单选择后续操作

3.查询航班信息:

键入1,按航班号查询,并显示菜单以便继续操作:

键入2,按起飞城市及降落城市查询

4.主菜单键入3,办理订票业务:

查询该航班剩余票量是否改变:

5.主菜单键入4,办理退票业务:

查询航班信息是否修改完成:

6.主菜单键入7,结束并退出操作并把航班和乘客信息写入文件中:

五、课程总结

1、知识点:

此次系统的设计包含了很多的知识点,涉及到C++简单的输入输出控制、运算符和表达式、选择控制(if)、循环控制(while)、字符数组(charp[])、字符串的比较(strcmp(m,p)==0)、数据库(#include<

iostream.h>

、#include<

string.h>

)、函数的定义(voidluru()、voidchaxun()、voidchaxun1();

)等知识点。

2、调试过程中遇到的主要问题及解决办法:

设计初期,先完成初步构思,写出主函数。

然后对主函数所涉及的各个模块进行编程,将各个模块利用指针和链表联系起来。

在环境中进行调试,应一边编译,一边调试,并且要一个模块一个模块的调试。

直至此模块完全没有错误时,在进入下一模块的调试。

不能直接输入全部的代码一次性调,这样错误会很多,并且不易找出和修改。

在完成程序的编译链接后,要用多组数据进行审查,确保做到系统无误。

设计过程中,不应忽视环境提示的警告,有时程序运行不正确与警告也有很大的关系。

这次设计中遇到很多问题都是提示类型不匹配,这时就要认真检查前面的代码,及时改正并且认真仔细,杜绝此类错再次发生。

编写代码时应该少用全局变量,全局变量在编写试看似定义次数少,很方便。

但全局变量出错几率较大,且不易修改,每次修改时都要全面考虑,所以应避免用到。

程序调试中碰到的错误可以使自己学到知识。

养成良好的编程习惯,可以节省很多时间,避免很多不必要的错误。

主要错误有冒号、分号等符号打错了;

大小写等造成的对应问题;

.变量的不完全修改。

改完以后在执行时我发现界面不好看于是我又将主界面略加修改了些。

看上去美观了不少。

心得:

主动上机多多实践提高动手才能实习时不能着急。

通过上机实践来验证所学的理论通过在机器上查找错误来巩固概念,通过提高上机才能来促进理论学习,开阔编程思路提高。

少反映效率提高分析问题解决问题的才能锻炼心理素质提高心理承受才能。

在本门课程实践过程中我更好的领悟了自学的重要性,并且和同学加强了交流以便我们互相及时答疑解惑。

同时我也学会了采用多种形式进行交流,不仅只是传统的面对面进行相互答疑,同时也利用网络通过XX知道、XX文库、邮件、BBS进行网上交流,也学会了绝对不要将问题积累到最后。

同时在本次实践中我还开阔了眼界打开了思路阅读了几本关于C++编程的教程从而通过理解不同作者对于C++的不同看法来提高我对C++的理解以方便自己在未来对C++的进一步学习。

通过此次C++程序设计,我不但学会了用MicrosoftVisualC++6.0这个软件,对C++的程序编写也有一定的了解,能通过C的语言编写实现一定功能的程序,比如此次的航空订票系统菜单、一元二次方程的求解、石头剪子布小游戏等等,为以后的软件编程方面打下了坚实的基础。

这是一个发现问题和解决问题的过程,从困惑到明朗,从苦恼道兴奋。

我一步步地走过来,发现编程真是一个奇妙刺激的旅程。

特别是当我把一个自己认为毫无可能的事情完成自后,那种感觉简直不能用言语来表达。

感谢这次课程设计给我带来的全新体验和丰富经验。

我会把它换成我以后奋斗的源泉。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1