毕业设计航空售票系统c语言文档格式.docx

上传人:b****6 文档编号:17714873 上传时间:2022-12-08 格式:DOCX 页数:36 大小:126.25KB
下载 相关 举报
毕业设计航空售票系统c语言文档格式.docx_第1页
第1页 / 共36页
毕业设计航空售票系统c语言文档格式.docx_第2页
第2页 / 共36页
毕业设计航空售票系统c语言文档格式.docx_第3页
第3页 / 共36页
毕业设计航空售票系统c语言文档格式.docx_第4页
第4页 / 共36页
毕业设计航空售票系统c语言文档格式.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

毕业设计航空售票系统c语言文档格式.docx

《毕业设计航空售票系统c语言文档格式.docx》由会员分享,可在线阅读,更多相关《毕业设计航空售票系统c语言文档格式.docx(36页珍藏版)》请在冰豆网上搜索。

毕业设计航空售票系统c语言文档格式.docx

广州00345589343120

天津00436678944120

系统面向用户显示所有航线信息,为用户提供各个航班的信息,供用户参考。

(2)查询航线信息

请输入查询航班的方式:

航班号--->

1

终点站--->

2

飞行日期->

3

用户根据需要可选择三种查询方式,输入“1”,按航班号查询,系统提示输入要查询的航班号;

输入“2”,按终点站查询,系统提示输入要查询的终点站名;

输入“3”,按飞行日期查询,系统提示输入要查询的飞行日期。

(3)订票业务

请输入飞行日期1

请输入订票数量:

请输入舱位等级(1/2/3):

请输入您的名字:

订票成功,座位号为1—1

用户根据所查询的信息,选择相应的航班,系统提示输入订票数量,舱位等级以及用户姓名,最后系统自动提示“订票成功”。

(4)退票业务

请输入航班号:

退票信息:

姓名/终点站/票数

确认要退票?

()

(1)

否(0)

退票成功

用户在退票时,按系统提示输入航班号,用户姓名,系统则会自动显示出用户要退的票的信息,然后选择是否退票,选择“1”退票,选择“2”不退票。

(5)管理员操作界面

请输入管理员密码:

(houkaiyang)

请选择操作

查询航班订票情况

(1)

增加新航班

(2)

请输入新航班号:

管理员在进入内部管理界面时,根据提示输入密码,进入之后,选择“1”,查询航班订票情况,选择“2”,增加新航班。

第2章设计描述

2.1任务分解说明

(1)分析系统中链表的设计,用来记录航班信息。

(2)根据问题描述,设计链表;

(3)完成系统中各个信息的定义;

(4)完成系统的应用模块;

(5)功能调试;

(6)完成系统设计报告。

2.2数据结构设计说明

航空售票系统

退出系统

退票业务

查询航线信息

显示所有航线

管理系统

订票业务

本系统中“航线”只用一条单链表记录,故采用全局变量,减少参数的传递。

(1)、定义“航线”类型

ADTLairline{

数据对象:

D={ai|ai∈航线链表集,i=1,2,3……,n,n>

=0}

数据关系:

R1={<

ai-1,ai>

|ai-1,ai∈D,i=1,2,3……,n}

基本操作:

Lairlinesearch_line()//按航班号查找航班

Lairlinesearch_plant()//按飞机号查找航班

Lairlinesearch_day()//按飞行日期查找航班

Lairlinesearch_addr()//按航班终点查找航班voidguide()//主菜单界面

voidinsert_line()//插入新航班

voidprint_customer(airline*p)//显示航班客户信息

voidadmin()//进入管理员操作系统

voidbook()//订票系统

voidwaited(airline*p)//排队订票系统

voidrefund()//退票系统

voidsearch()//航班查询系统

voidInitLine()//初始化航线信息

voidprintline()//显示所有航班信息

}ADTLairline

(2)、主程序

voidmain()

{

初始化;

do{

接受命令;

处理命令(调用相应函数);

}while(“命令”!

=“退出”);

}

(3)、调用关系

函数模块

主程序模块

2.3函数接口即函数调用关系

main()

guide()

admin()

refund()

book()

search()

printline()

waited(p))

search_line()

search_addr()

search_day()

search_plant()

printcustomer()p)

printcustomer(p)

第3章算法描述

3.1主函数

主程序流程图,如图3—1

开始

flag=1

主菜单界面

初始化航线

gatchar

7

flag=0

6

清除屏幕

4

5

管理界面

查询航线

显示航线

flag

结束

图3—1

3.2按航班号查询函数

按航班号查询函数流程图,如图3—2

chara[5]

airline*p

P=L—>

next

输入航班号a

p

!

strcmp(a,p—>

line_num

p=p—>

图3—2

3.3按飞机号查询函数

按飞机号查询函数流程图,如图3—3

chara[8]

输入飞机号a

plant_num)

图3—3

3.4按飞行日期查询函数

按飞行日期查询函数流程图,如图3—4

inta

输入飞行日期a

a=p—>

day

图3—4

3.5按航班终点查询函数

按航班终点查询函数流程图,如图3—5

chara[20]

输入航班终点a

end_addr)

图3—53.6插入新航班函数流程图

插入新航班函数流程图,如图3—6

airline*p,*q

q=(Lairline)malloc(sizeof(airline)))

输入航班号

p=L

p—>

strcmp(p—>

next—>

line_num,

q—>

line_num)>

=0

P—>

next&

&

line_num,q—>

line_num)=0

输入飞行日期,飞机号,

终点站

航班已存在,请重新输入

图3—6

3.7显示航班客户信息函数

显示航班客户信息函数流程图,如图3—7

customer*c

book

c=p—>

booked

输入已订票客户信息

c

输入c—>

num,c—>

name

c=c—>

输出“暂时没有客户订票”

wait

输出排队订票客户信息

输出c—>

图3—7

3.8管理员操作函数

管理员操作函数流程图,如图3—8

inti,flag,tag

chara[20],airline*p

输入管理员密码

i=0

i<

strcmp(a,”houkaiyang”)

密码错误

i++

i=3

tag=1

tag

返回主界面

选择进行的操作

图3—8

3.9订票系统函数

订票系统函数流程图,如图3—9

airline*p

customer*cst,*c

输入查询航班方式

输出航班信息

cst=(customer*)malloc(sizeof(customer)))

输入订票数量,舱位等级,名字

cst—>

num<

=p—>

left

next=p—>

booked=cst

left=p—>

left—cst—>

num

订票成功,座位号为:

余票不足

没有该航班

图3—9

3.10排队订票系统函数

排队订票函数流程图,如图3—10

intflag

customer*q,*q0,*h

left>

0&

q—>

您正在排队订票,现在有票,是否订

q0=q—>

next,q—>

next=q—>

q0—>

booked,p—>

booked=q0

left—q0—>

订票成功

q=q—>

wait=h—>

图3—10

3.11退票系统函数

退票系统函数流程图,如图3—11

intflag,chara[20]

customer*c,*c1

p=search_line()

booked

输入您的姓名

booked—>

没有找到您的信息

假假

输出退票信息

strcmp(a,c—>

next—name)

booked=p—>

left+c—>

free(c)

真真

c—>

对不起,没有找到您的信息

图3—11

3.12航班查询函数

航班查询函数流程图,如图3—12

inti,flag=0

i

p=search_plant()

其他

操作错误,重新输入

p=search_addr()

p=search_day()

图3—12

第4章开发过程描述

4.1源代码

#include<

stdio.h>

malloc.h>

stdlib.h>

string.h>

#definePRprintf

#defineSCscanf

typedefstructcustomer{//客户信息

charname[20];

//客户姓名

intnum;

//订票量

intlevel;

//舱位等级

customer*next;

}customer,*Lcustomer;

typedefstructairline{//航线信息

charend_addr[20];

//航线终点

charline_num[5];

//航班号

charplant_num[8];

//飞机号

intday;

//飞行日期

inttotal;

//定员

intleft;

//剩余票数

customer*booked;

//已定客户信息

customer*wait;

//排队等候订票信息

airline*next;

}airline,*Lairline;

airline*L;

//将航班信息定义为全局变量,减少参数传递

Lairlinesearch_line()//按航班号查找航班

chara[5];

airline*p;

p=L->

next;

PR("

请输入航班号"

);

SC("

%s"

a);

for(;

p;

p=p->

next)

if(!

strcmp(a,p->

line_num))break;

returnp;

Lairlinesearch_plant()//按飞机号查找航班

chara[8];

请输入飞机号"

plant_num))break;

Lairlinesearch_day()//按飞行日期查找航班

inta;

请输入飞行日期"

%d"

&

a);

if(a==p->

day)break;

Lairlinesearch_addr()//按航班终点查找航班

chara[20];

请输入航班终点"

end_addr))break;

voidguide()//主菜单界面

**********************欢迎进入航空售票系统**********************\n"

\t\t显示所有航线==>

1\n"

\t\t查询航线信息==>

2\n"

\t\t订票业务==>

3\n"

\t\t退票业务==>

4\n"

\t\t管理系统==>

5\n"

\t\t退出系统==>

0\n"

**************************************************************\n"

\t\t清除屏幕信息==>

9\n\n"

请按上面指引操作:

\t"

voidinsert_line()//插入新航班

airline*p,*q;

intflag=1;

flag;

{

q=(Lairline)malloc(sizeof(airline));

PR("

"

SC("

q->

line_num);

for(p=L;

p->

if(strcmp(p->

next->

line_num,q->

=0)

break;

if(p->

strcmp(p->

line_num)==0)

{

PR("

航班已存在,请重新输入\n"

continue;

}

请输入飞行日期:

q->

day);

请输入飞机号:

plant_num);

请输入终点站:

end_addr);

q->

total=120;

left=120;

booked=NULL;

wait=NULL;

next=p->

p->

next=q;

增加航班成功,是否继续增加\n继续

(1)\n返回(0)"

flag);

}

voidprint_customer(airline*p)//显示航班客户信息

customer*c;

if(p->

booked)

c=p->

booked;

已定票客户信息\n票数\t/\t客户姓名\n"

for(;

c;

c=c->

%5d\t/\t%s\n"

c->

num,c->

name);

\n\n"

else

暂时没有客户订票\n\n"

wait)

wait;

排队订票客户信息\n票数\t/\t客户姓名\n"

暂时没有客户排队订票\n\n"

voidadmin()//进入管理员操作系统

inti,flag,tag;

(houkaiyang)"

for(i=0;

3;

i++)

if(strcmp(a,"

houkaiyang"

))

\t\t======密码错误======\n\n"

i++;

elsebreak;

if(i==3)

{guide();

return;

for(tag=1;

tag;

请选择操作\n查询航班订票情况

(1)\n增加新航班

(2)\n"

if(flag==1)

p=search_line();

if(p)

print_customer(p);

else

PR("

没有找到该航班\n"

elseif(flag==2)

insert_line();

else

操作错误,请按提示操作\n"

请选择操作\n继续

(1)\n退回主菜单(0)\n"

tag);

guide();

voidbook()//订票系统

inti;

intflag=0;

customer*cst,*c;

\n"

1\n"

2\n"

3\n"

i);

switch(i)

case1:

p=search_line();

flag=1;

break;

case2:

p=search_addr();

case3:

p=search_day();

default:

PR("

操作错误,请重新输入\n"

if(p)

终点站航班号飞机号飞行日期余票量\n"

%-20s%10s%10s%8d%8d\n"

p->

end_addr,p->

line_num,p->

plant_num,p->

day,p->

left);

cst=(customer*)malloc(sizeof(customer));

cst->

num);

请输入舱位等级(1/2/3)"

level);

请输入您的名字"

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

当前位置:首页 > 医药卫生 > 中医中药

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

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