飞机订票系统报告文档格式.docx

上传人:b****6 文档编号:15909539 上传时间:2022-11-17 格式:DOCX 页数:29 大小:156.18KB
下载 相关 举报
飞机订票系统报告文档格式.docx_第1页
第1页 / 共29页
飞机订票系统报告文档格式.docx_第2页
第2页 / 共29页
飞机订票系统报告文档格式.docx_第3页
第3页 / 共29页
飞机订票系统报告文档格式.docx_第4页
第4页 / 共29页
飞机订票系统报告文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

飞机订票系统报告文档格式.docx

《飞机订票系统报告文档格式.docx》由会员分享,可在线阅读,更多相关《飞机订票系统报告文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

飞机订票系统报告文档格式.docx

2课程设计原理2

2.1主要模块的功能说明2

2.2原理图介绍3

2.2.1系统功能模块结构图3

2.2.2流程图分析4

3数据结构设计8

3.1存储结构8

3.2算法描述9

4调试与分析14

4.1调试过程14

4.2测试结果15

参考文献18

附录(关键部分程序清单)19

1题目介绍和功能要求

1.1题目介绍

利用C语言或面向对象的C++等设计一个小型飞机订票系统,实现规定的功能操作,自己设计航班信息及订票信息的存储结构。

1.2功能要求

(1).录入功能:

由键盘录入航班情况,修改航班信息,包括航班号、起降时间、始发站和终点站、航班票价、票价折扣、航班是否满仓。

(2).查询功能:

能够根据输入信息查询航班情况,如输入航班号或抵达城市即可获得该航班的日期、起降时间,始发站和终点站,票价及折扣情况,是否满仓等信息。

(3).订票功能:

旅客输入所需订票的航班号,程序先进行查找,若找到,则输出航班信息,在旅客输入姓名、身份证号码和订票数量后能够订票,同时修改航班信息;

若找不到,则不能订票,提示是否重新查找。

(4).退票功能:

旅客输入所需退票的航班号,程序先进行查找,若找到,则输出航班信息,在旅客输入姓名、身份证号码和退票数量后能够退票,同时修改航班信息。

2课程设计原理

2.1主要模块的功能说明

该程序除主函数外共定义了4类主要的函数,分别为录入函数、查询函数、订票函数、退票函数,各部分实现的功能如下:

(1).录入函数luru():

调用链表初始化的函数,能够实现录入航班情况的功能,包括航班号、日期、起降时间、起飞城市和抵达城市、航班票价、票价折扣、总座位数以及剩余座位数。

(2).查询函数chaxun():

共调用两个子函数,分别为航班号查询hbhchaxun()和目的地查询mddchaxun()函数。

航班号查询函数可实现按航班号查询功能,旅客只需输入航班号即可获得该航班的航班号、日期、起降时间、起飞城市和抵达城市、航班票价、票价折扣、总座位数、剩余座位数等信息。

目的地查询函数可实现按目的地查询的功能,当旅客输入抵达城市时,将输出所有到达该目的地的航班信息。

(3).订票函数dingpiao():

当旅客输入所需航班号时,程序会进行查找,若找到此航班,则输出该航班的航班号、日期、起降时间、起飞城市和抵达城市、航班票价、票价折扣、总座位数、剩余座位数等信息,同时提示旅客输入姓名、身份证号码、订票数量。

若信息输入正确,则订票成功并修改航班信息;

若无此航班,则提示是否重新订票,是则重新操作,否则返回主菜单。

若所订票数大于余票量,则提示无法订票,是否需重新订票,是则重新操作,否则返回主菜单。

(4).退票函数tuipiao():

旅客输入需退票的航班号时,该函数会进行查找操作,若找到此航班,则输出该航班的航班号、日期、起降时间、起飞城市和抵达城市、航班票价、票价折扣、总座位数、剩余座位等信息,并提示旅客输入姓名,身份证号码以及退票数量。

函数将再次进行查找操作,若找到旅客信息,则完成退票;

反之,若航班号输入错误或查找不到旅客信息则提示退票失败,是否重新查找并退票,是则重新操作,否则返回主菜单。

2.2原理图介绍

2.2.1系统功能模块结构图

执行主函数时,会出现一个界面,提供五项选择,提示不同按键的作用,分别为输入航班信息、查找航班信息、订票信息、退票信息、退出程序,用来调用以上四个子函数。

图2.1系统功能模块结构图

2.2.2流程图分析

(1).录入函数:

程序执行录入函数时,需按要求依次输入航班信息,当一个航班信息录入完毕,则提示是否继续输入,是则按1,否则按2,继续入航班信息。

流程图如下:

图2.2录入函数流程图

(2).查询函数:

旅客在提示下输入查询方式,若选择按航班号查找,则按1,调用按航班号查找函数,若找到,则输出该航班的航班号、日期、起降时间、起飞城市和抵达城市、航班票价、票价折扣、总座位数、剩余座位数等信息;

若找不到,则输出无此航班的提示并返回主菜单。

若选择按目的地查找,则按2调用按目的地查找函数,若找到,则输出所有到达该目的地的航班的航班号、日期、起降时间、起飞城市和抵达城市、航班票价、票价折扣、总座位数、剩余座位数等信息;

流程图如下:

图2.3查询函数流程图

(3).订票函数:

当旅客输入所需航班号时,程序会进行查找,若找到此航班,则输出该航班的信息,同时提示旅客输入姓名、身份证号码、订票数量,若信息输入正确,则订票成功并修改航班信息。

若无此航班,则提示是否重新订票,是则重新操作;

图2.4订票函数流程图

(4).退票函数:

旅客输入需退票的航班号时,该函数会进行查找操作,若找到此航班,则输出该航班信息,并提示旅客输入姓名、身份证号码以及退票数量,函数将再次进行查找操作,若找到旅客信息,则完成退票。

反之,若航班号输入错误或查找不到旅客信息则提示退票失败,是否需要重新退票,是则重新操作,否则返回主菜单。

图2.5退票函数流程图

3数据结构设计

3.1存储结构

该程序主要应用结构体和链表,定义两个结构体,分别用来存放航班信息和订票的客户信息。

(1).航班信息包括航班号、起降时间、始发站和终点站、航班票价、票价折扣、航班是否满仓等,同时在存储航班信息的链表结点中存在存放客户信息的空间,便于客户订票和退票。

具体设计如下:

typedefstructHangxian{//创建一个结构体

charhangbanhao[15];

//航班号

chardate[15];

//日期

intstime;

//起飞时间

intetime;

//降落时间

inttotal;

//座位数

intodd;

//余票

floatprice;

//价格

floatdiscount;

//折扣

charstart[15];

//起飞城市

charend[15];

//降落城市

structHangxian*next;

//指向下一个链结点的指针

structYidingkehu*yiding;

//定义一个指向已订票客户的头结点指针

}Hangxian,*Linklist;

(2).客户信息包括姓名、身份证号码、订票数量;

typedefstructYidingkehu//单链表

{

charname[15];

//已订票的客户姓名

intID;

//身份证号

intpiao;

//订票数量

structYidingkehu*next1;

}Yidingkehu,*Link;

3.2算法描述

(1).当程序进入主函数时,界面会提示不同按键的作用分别为录入函数、查询函数、订票函数、退票函数。

case1:

luru();

break;

选择1,录入功能

case2:

chaxun();

选择2,查询功能

case3:

dingpiao();

选择3,订票功能

case4:

tuipiao();

选择4,退票功能

default:

exit(0);

选择0,退出

}

}while(n==1||n==2||n==3||n==4);

(2).录入函数描述:

录入函数首先为航线信息的头结点分配空间,若成功,则调用链表初始化的函数,再用while循环实现链表的插入操作,输入航班号、日期、起降时间、起飞城市和抵达城市、航班是否满仓等信息,直到退出该函数,返回主菜单。

若不成功,则退出函数,返回主菜单。

算法如下:

{intm;

do{

if(!

InsertLinklist(L))//为空,向其中加入航班信息

{

printf("

内存已满\n"

);

exit(OVERFLOW);

}//向链表中加一结点

printf("

\t是否要输入下一个航线记录?

\n"

\t是请输入1\n"

\t否请输入2\n\t"

scanf("

%d"

&

m);

//决定是否输入下一条航线记

}while(m==1);

(3).查询函数描述:

在提示下输入查找方式,若选择按航班号查找,则调用按航班号查找函数,若选择按目的地查找,则调用按目的地查找函数。

若找到,则输出符合要求的所有航班信息;

找不到,则输出无此航班的提示,返回主菜单。

{intn;

printf("

返回主菜单********0\n\n"

目的地查询********1\n\n"

航班号查询********2\n\n"

请输入查询方式:

"

scanf("

n);

//格式化

switch(n)

{case1:

mddchaxun();

按目的地查询

break;

case2:

hbhchaxun();

按航班号查询

default:

}

(4).目的地查询函数描述:

目的地查询函数可实现按目的地查询的功能,当旅客输入抵达城市时,将进行链表的遍历操作。

若找到符合要求的航班,则输出所有到达该目的地的航班的航班号、日期、起降时间、起飞城市和抵达城市、航班票价、票价折扣、总座位数、剩余座位数等信息;

若找不到,则提示输入错误,并返回主菜单。

{printf("

\t请输入终点站:

gets(c);

gets(c);

while(p)

{if(p)

m=strcmp((*p).end,c);

//如果==,则m=0;

if(m==0)

{printf("

\t航班信息:

p=p->

next;

if(m!

=0)

{//不匹配

\t对不起没有符合您要求的航班:

\n\n"

m=1;

\t按任意键返回主菜单:

getchar();

(5).航班号查询函数描述:

查找函数航班号查询函数可实现按航班号查询功能,当旅客输入航班号时,将进行链表的遍历操作。

若找到符合要求的航班,则输出该航班的航班号、日期、起降时间、起飞城市和抵达城市、航班票价、票价折扣、总座位数、剩余座位数等信息。

具体算法同按目的地查询函数。

(6).订票函数描述:

当旅客输入所需航班号时,会进行链表的遍历操作,若找到此航班,则输出该航班的航班号、日期、起降时间、起飞城市和抵达城市、航班票价、票价折扣、总座位数、剩余座位数等信息,同时提示旅客输入姓名、身份证号码、订票数量,若信息输入正确,则订票成功并修改航班信息;

若无此航班,则提示是否重新订票,是则重新操作,否则返回主菜单;

do{printf("

\n请输入您要订的票数:

scanf("

piao);

if(piao<

=p->

odd)

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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