数据结构飞机订票课程设计报告Word文件下载.docx

上传人:b****6 文档编号:20092391 上传时间:2023-01-16 格式:DOCX 页数:33 大小:228.73KB
下载 相关 举报
数据结构飞机订票课程设计报告Word文件下载.docx_第1页
第1页 / 共33页
数据结构飞机订票课程设计报告Word文件下载.docx_第2页
第2页 / 共33页
数据结构飞机订票课程设计报告Word文件下载.docx_第3页
第3页 / 共33页
数据结构飞机订票课程设计报告Word文件下载.docx_第4页
第4页 / 共33页
数据结构飞机订票课程设计报告Word文件下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

数据结构飞机订票课程设计报告Word文件下载.docx

《数据结构飞机订票课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构飞机订票课程设计报告Word文件下载.docx(33页珍藏版)》请在冰豆网上搜索。

数据结构飞机订票课程设计报告Word文件下载.docx

”,但是随着每一次循环如果找不到信息就得输出一次,这样就会不停地输出那句话。

我想了很久想出来用一个中间变量a来解决,如果名字像匹配就让a=0,不匹配就让a=1,这样就能避免一直的循环,直接在后面判断a的值就能知道判断的结果,然后做出相应的结果,运行的时候终于解决了这个问题。

在其他的几个函数里面我也遭遇到了同样的问题,就是在判断的时候屏幕上一直不停地输出信息,我采取了同样的方法解决了问题。

同样用定义中间变量值的办法。

还有就是存储问题了。

在开始的时候我直接用输出流对象来存储到文件里面,后来打开文件,里面确实有数据,但是在调出数据,也就是在查询客户信息的时候,尽管我输入的是已经存在的客户姓名,但是系统却找不到客户信息。

后来查阅了资料才知道,我存储的时候数据间没有间隔,在读取的时候就不能分别数据了,应该在存储的时候在每个数据间加入一个空格符号,来分开每一个数据。

这样终于搞定了,系统能正常识别数据了。

四.运行结果

1、首先进入系统提示是否是第一次进入,如果是第一次就进行初始化。

否则直接进入主菜单:

第一次进入,初始化!

并且进入主菜单:

2、进行第一个功能选项:

订票业务:

3、下面为第二个功能选项:

查询航班信息

输入航班号或者出发到达地,就会自动输出航班的相关信息。

也可以查询所有航班,并输出相关乘客信息。

4、第三个功能选项,修改航班信息:

包括航班的所有信息。

可以根据航班号以及航班航线进行查找并修改。

5、第四项功能:

订票业务

可以根据航班号以及航班航线进行订票,如果无直达航班,则提供中转航班进行性订票。

5、第五项功能:

退票业务

输入客户证件号及航班号进行退票。

6、退出系统

六.心得体会

本次程序设计所用时间较长,工作量很饱满,而且所用的知识很多,但是我们平常在课堂上所学的知识很有限,这就需要我大量的自学书本和课外的其他书籍上的知识。

为了让程序容易使人看懂,我用到的知识点不是非常多,大都是一些基本知识,我能熟练地运用这些知识编程也算一个很大的成功了。

C++设计实践是对之前学过的知识的加深和巩固,之前学得较浅,实践的机会不多,这次实践让我对C++程序有了更加深入的了解,心理也由原来的不喜欢到喜欢,感觉很有意思也很有用,可也设计一些有用的或者是自己喜欢的程序。

最令我收益的是写程序的过程和调试修改的过程,因为之前我们就学了几章,没有把知识学习全面,因此编写起来是有难度的,在预先想好程序结构后,就开是卡看书,一个函数一个函数来编写,不懂的地方就上网搜或是请教一下同学,当终于把程序写出来的时候,内心里又有一种说不出来的激动,我感觉这很符合大学的教育观念,是对个人自主学习能力的一个锻炼。

在接下来就是调试,虽然出了很多的错误,虽然自己也被搞的焦头烂额,但我还是很兴奋,一点点找线索,找到问题,再解决。

现在程序终于能较好的运行出来了,当然,还存在一些瑕疵,但通过这个暑假的实践学习,我收获的不仅仅是这一个程序,我的自学能力,以及寻找问题解决问题的能力也得到了很好的锻炼。

源代码:

#include<

iostream>

#include<

string>

fstream>

usingnamespacestd;

structflight

{

intnum;

charplace1[10];

charplace[10];

charplace2[10];

chartime1[20];

chartime[20];

chartime2[20];

intprice1;

intprice2;

intprice;

chardiscount[10];

intdticket;

intyticket;

}fl[20]={{101,"

南京"

"

武汉"

北京"

09-01-13:

00"

09-01-16:

09-01-18:

2700,3000,5600,"

50%"

1,99},

{102,"

新疆"

哈尔滨"

上海"

09-01-09:

09-01-15:

09-01-21:

4000,4500,7800,"

70%"

{103,"

杭州"

海南"

广州"

09-01-12:

09-01-14:

2100,2000,3400,"

20%"

1,99}};

structcustomer

charname[10];

charid[20];

intticket;

//订票数量

intseat;

//座位号

}cu[300]={{"

张三"

101,"

321002"

5600,1,1},{"

李四"

102,"

225006"

7800,1,1},{"

王五"

103,"

210023"

3400,1,1}};

//定义结构体

structticketnum

intyticket1;

intyticket2;

}ti[20]={{"

"

99,99},{"

99,99}};

intcnum=3;

//定义客户编号

intfnum=3;

//定义飞机编号

voidlist();

voidinput();

voiddingpiao();

voidtuipiao();

voidsearch();

voidchange();

voidmenu();

//函数声明

voidchushi();

voidmain()

intx;

cout<

<

"

第一次使用请按1进行初始化,按任意数字继续:

;

cin>

>

x;

if(x==1)

chushi();

else

menu();

}//主函数

voidmenu()

inti;

*************航空订票系统*************"

endl;

***                     ***"

***1.录入业务2.查询航班信息***"

***3.修改航班信息4.订票业务***"

***5.退票业务6.退出系统***"

******"

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

ifstreaminfile1("

airline.dat"

);

ifstreaminfile2("

customer.dat"

for(i=0;

i<

20;

i++)

{

infile1>

fl[i].num>

fl[i].place1>

fl[i].place>

fl[i].place2>

fl[i].time1>

fl[i].time>

fl[i].time2>

fl[i].price1>

fl[i].price2>

fl[i].price>

fl[i].discount>

fl[i].dticket>

fl[i].yticket>

ti[i].yticket1>

ti[i].yticket2;

}

300;

infile2>

cu[i].name>

cu[i].num>

cu[i].id>

cu[i].price>

cu[i].ticket>

cu[i].seat>

cnum;

}

infile1.close();

infile2.close();

//读取数据

请输入业务代码:

list();

}

voidchushi()

inti,j;

ofstreamoutfile("

ofstreamfile("

//outfile<

航班号起点站终点站起飞时间到达时间票价折扣已订票数剩余票数"

//file<

顾客姓名航班号证件号订票数量座位号订单号"

for(i=0;

3;

i++)

{

j=i+1;

outfile<

fl[i].num<

fl[i].place1<

fl[i].place<

fl[i].place2<

<

fl[i].time1<

fl[i].time<

fl[i].time2<

fl[i].price1<

fl[i].price2<

fl[i].price<

fl[i].discount<

fl[i].dticket<

fl[i].yticket<

ti[i].yticket1<

ti[i].yticket2<

file<

cu[i].name<

cu[i].num<

cu[i].id<

cu[i].price<

cu[i].ticket<

cu[i].seat<

j<

outfile.close();

file.close();

初始化已完毕!

endl<

}//存储数据

voidlist()

inta;

a;

while(a<

1||a>

6)

cout<

输入错误,请重新输入:

cin>

switch(a)

case1:

input();

break;

case2:

search();

case3:

change();

case4:

dingpiao();

case5:

tuipiao();

case6:

exit

(1);

default:

{

cout<

输入错误,请重新输入正确的代码:

list();

}//输入代码

voidinput()/////////////////////////////////////////////////////////////////////录入

{

ios:

:

app);

inty,i;

一共要录入的航班数:

y;

请依次输入航班信息:

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

请输入航班号:

fl[i+fnum].num;

请输入起始站:

fl[i+fnum].place1;

请输入中转站:

fl[i+fnum].place;

请输入终点站:

fl[i+fnum].place2;

请输入起飞时间:

fl[i+fnum].time1;

请输入中转时间:

fl[i+fnum].time;

请输入降落时间:

fl[i+fnum].time2;

请输入票价1:

fl[i+fnum].price1;

请输入票价2:

fl[i+fnum].price2;

请输入总票价:

fl[i+fnum].price;

请输入票价折扣:

fl[i+fnum].discount;

请输入已经订购机票:

fl[i+fnum].dticket;

请输入剩余机票数:

fl[i+fnum].yticket;

ti[i+fnum].yticket1=fl[i+fnum].yticket;

ti[i+fnum].yticket2=fl[i+fnum].yticket;

fl[i+fnum].num<

fl[i+fnum].place1<

fl[i+fnum].place<

fl[i+fnum].place2<

fl[i+fnum].time1<

fl[i+fnum].time<

fl[i+fnum].time2<

fl[i+fnum].price1<

fl[i+fnum].price2<

fl[i+fnum].price<

fl[i+fnum].discount<

fl[i+fnum].dticket<

fl[i+fnum].yticket<

ti[i+fnum].yticket1<

ti[i+fnum].yticket2<

fnum=fnum+1;

}////////////////////////////////////////////////////////////////////////////////录入

voiddingpiao()//////////////////////////////////////////////////////////////////订票

intnum,i,j,t,k,temp,cho;

intx,y;

请输入你的姓名,证件号和订票方式:

姓名:

name;

证件号:

id;

1.航班号:

2.起点终点:

cho;

switch(cho)

输入航班号:

num;

for(i=0;

if((strcmp(id,cu[i].id)==0)&

&

num==cu[i].num)

您已经定过该航班,要返回主菜单吗?

输入1返回"

cin>

t;

if(t==1)

menu();

}

if(id!

=cu[i].id)

for(j=0;

fnum;

j++)

if(fl[j].num==num)

temp=j;

if(fl[temp].yticket>

0)//判断有没有余票

{

cout<

此航班还有余票,要订票吗?

输入1订票,其他数字退出"

cin>

switch(x)

{

case1:

{

cout<

该航班订几张票?

cin>

for(k=0;

k<

k++)

if(fl[k].num==num)

{

cnum=cnum+1;

strcpy(cu[cnum].name,name);

cu[cnum].num=num;

cu[cnum].price=fl[k].price;

cu[cnum].ticket=y;

cu[cnum].seat=fl[k].dticket+1;

strcpy(cu[cnum].id,id);

fl[k].dticket=fl[k].dticket+y;

fl[k].yticket=fl[k].yticket-y;

ofstreamoutfile1("

for(j=0;

j++)

outfile1<

fl[j].num<

fl[j].place1<

fl[j].place<

fl[j].place2<

fl[j].time1<

fl[j].time<

fl[j].time2<

fl[j].price1<

fl[j].price2<

fl[j].price<

fl[j].discount<

fl[j].dticket<

fl[k].yticket<

ti[k].yticket1<

ti[k].yticket2<

ofstreamoutfile2("

outfile2<

cu[cnum].name<

cu[cnum].num<

cu[cnum].id<

cu[cnum].price<

cu[cnum].ticket<

cu[cnum].seat<

cnum<

//打开文件并存储数据

cout<

订票成功!

endl

<

客户信息:

'

\t'

航班号:

\t"

票价:

订票数量:

座位号:

订单号:

outfile1.close();

outfile2.close();

1.返回主菜单2.退出:

cin>

temp;

menu();

}

};

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

当前位置:首页 > 农林牧渔 > 畜牧兽医

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

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