汽车订票系统设计与实现顺序表.docx

上传人:b****5 文档编号:6717270 上传时间:2023-01-09 格式:DOCX 页数:24 大小:207.11KB
下载 相关 举报
汽车订票系统设计与实现顺序表.docx_第1页
第1页 / 共24页
汽车订票系统设计与实现顺序表.docx_第2页
第2页 / 共24页
汽车订票系统设计与实现顺序表.docx_第3页
第3页 / 共24页
汽车订票系统设计与实现顺序表.docx_第4页
第4页 / 共24页
汽车订票系统设计与实现顺序表.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

汽车订票系统设计与实现顺序表.docx

《汽车订票系统设计与实现顺序表.docx》由会员分享,可在线阅读,更多相关《汽车订票系统设计与实现顺序表.docx(24页珍藏版)》请在冰豆网上搜索。

汽车订票系统设计与实现顺序表.docx

汽车订票系统设计与实现顺序表

长途汽车站车票订票系统设计与实现(顺序表实现)

摘要

数据结构中,主要讲解的是典型的数据结构:

线性表,树与二叉树,图等的存储及基本操作.《数据结构》在计算机科学中是一门综合性的专业基础课。

本课程程介绍如何组织数据在计算机中的存储、传递和转换.内容包括:

数组、链接表、栈和队列、树与森林、图、查找、排序等。

课程采用TurboC语言作为算法的描述工具,强化数据结构基本知识和程序设计基本能力的双基训练,为后续计算机专业课程的学习打下坚实的基础.数据结构的研究不仅涉及到计算机硬件(特别是编码理论、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有着更密切的关系,无论是编译程序还是操作系统,都涉及到数据元素在存储器中的分配问题。

在研究信息检索时也必须考虑如何组织数据,以便查找和存取数据元素更为方便。

因此,可以认为数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程,在计算机科学中,数据结构不仅是一般程序设计(特别是非数值计算的程序设计)的基础,而且是设计和实现编译程序、操作系统、数据系统及其它系统程序和大型应用程序的重要基础。

本次课程设计的题目是长途汽车站车票订票系统,是通过访问主页,可以实现车次车票价格的查询,在线订票退票等基本功能,为用户提供方便快捷的订票服务。

本文主要介绍了本课题的开发背景,所要完成的功能和开发的过程.重点说明了系统的设计思路、总体设计、各个功能模块的设计与实现方法.

关键词:

学生成绩,C语言,数据结构

 

本章叙述的是系统概述

 

1系统概述

1。

1现状描述

目前我国各地区的汽车售票信息化水平差异较大,虽然大部分二级以上的客运站实现了区域内联网售票,但在经济不发达地区和大多数三级以下客运站,还是采用传统的售票方式.在没有实现联网售票的地区,旅客购票是十分不便的。

互相之间的发车信息沟通缺乏渠道,互相之间不能实现互售。

出行者购票,并不知道各站的具体班次,也不知道去哪个站可以买到,加之公路客运的特点是一段时期内变化较大,班次和发班时间往往根据季节和客流量大小有所调整,出行人更是难以把握.而在南方一些城市密集地区,客运比较发达,售票的信息化水平相对较高。

汽车售票管理系统主要用于车站日常的票务处理。

车售票管理系统在正常运行中需要对使用该系统的主要是汽车站售票人员、汽车站售票工作的管理人员与系统管理员.现今的社会发展迅速,汽车成为了人们在交通方面不可缺少的交通工具为了给人们带来方便快捷的交通环境,公路系统采取提高汽车的速度,增加客运汽车等等从而来满足大量的旅客的乘车需求。

如此的情况之下,售票系统的需要自然是相当必要的。

目前,售票系统在国内外都已经得到了广泛的应用,无论是在飞机场,火车站,还是汽车站,都是借助于售票系统进行售票的。

1。

2系统目标实现

方便、快速售票;使汽车客运中心管理手段现代化,减轻工作人员的工作强度,提高工作效率,减少在售票工作中的人为差错;保证售票员和售票窗口可灵活增减;帮助工作人员掌握每天的客票收入情况实现对业务信息的高效管理。

1。

3系统可行性分析

a.经济可行性在一定程度上讲汽车票预定系统对汽车运输公司而言在长期利益上看是有很大的收益的,故在某种意义上讲经济上是可行的。

b.社会可行性汽车票预定系统是一个广大旅客出行的系统,它为旅客提供了便捷的服务,为汽车运输公司减少工作量,故在社会可行性方面是毋庸置疑的。

1。

4系统设计目的

设计人员设计售票管理系统的最终目标是使汽车客运中心管理手段现代化,减轻工作人员的工作强度,提高工作效率,减少在售票工作中的人为差错;保证售票员和售票窗口可灵活增减;帮助工作人员掌握每天的客票收入情况实现对业务信息的高效管理;方便旅客对车次、票价等信息的查询,帮助旅客及时了解发车时间、票价、车次等情况。

本系统的总体设计原则是:

“立足现在,着眼未来;总体规划,分步实施”。

即在方案总体的设计和选型中要充分考虑技术的发展,力求所用技术在今后相当长的一段时间内不落后;系统除具有较高的可靠性外,还将有良好的灵活性和可伸缩性,以利于以后系统的扩展;考虑到硬件更新换代周期短,因此所选设备应可靠、经济、实用;软件开发除采用新的开发工具外,还要设计良好的接口,以利于功能模块的增加。

总之,系统的设计应遵循科学性、安全性、可靠性、灵活性、实用性和经济性相结合的原则。

1。

5研究意义

随着我国交通行业的快速发展,各种业务量快速发展,不断出现新的业务与服务,售票系统的作用日益凸显。

然而当前的汽车客运站普遍存在的一个现象是所有与车票购买、改签、查询、退票等一系列业务只能在车站进行。

甚至有的汽车客运站根本就不能进行车票的预定,只能购买当天的车票.面对如此巨大的旅客运输量,却缺少完善的售票系统来管理车票的发售。

这不仅使车站的管理工作变得复杂,而且不方便旅客的购票与出行.因此,设计一个新的网上售票系统来简化车站的售票工作并提高旅客的购票体验具有非常广泛的经济意义与社会意义

交通运输的发展水平直接反映了一个国家的经济发展水平,在我国经济快速发展的阶段,保持经济持续健康发展,必须要有高度发达的交通运输体系来保障。

健全的售票系统这时就显得尤为重要,然而当前的汽车客运站的售票具有:

实时性差、交易时间长、运营成本高、数据统计繁杂、购票体验差等显著特点。

因此,设计新的售票系统来弥补老旧售票系统的诸多不足,既提高的售票的服务质量,又简化了车站进行数据统计的复杂程度,优化了管理流程,这无疑是大大提高自身的市场竞争力.本课程设计提出构建网上售票系统的概念,是综合考虑了当前汽车客运站售票环节的缺陷与电子商务技术的发展形势。

将车票的预定、查询、改签、退票等活动在网上售票系统中进行。

旅客通过互联网就能随时随地惊醒车票的预定、查询、改签、退票等,满足了旅客“足不出户,提前购票的迫切愿望”。

网上售票系统能未旅客带来更加快捷舒适的购票体验,从而提高了购票的服务质量,提高了车站的社会竞争力。

通过开展网上售票系统的研究与建设,以此营造公平、公正、公开、方便的购票环境。

 

 

本章叙述了系统的总体设计

2系统总体设计

2.1系统模块划分

本系统主要是对订票信息的管理,包括了有关订票的录入信息,信息输出,终点站查询,车号查询,价格,车号修改,插入乘客,退票,等功能。

整个系统分为以下几个模块。

(本章由苗东柯)

1、主系统界面模块

本模块提供车票信息管理系统的主菜单界面,供管理员选择与执行各项车票信息管理工作.

2、创建模块

本模块用于创建长途汽车车票的信息,包括车号、终点、价格、时间、票存.

3、查询模块

本模块用于查询车票信息,按车号或终点查询等。

4、修改模块

本模块用于根据输入要查询的车票来修改其相应的信息。

5、输出模块

本模块主要用于输出库中车票信息。

 

2.2系统模块结构图

根据系统功能设计,对应的系统模块结构图如图2.1所示:

 

图2.1系统模块结构图

 

3详细设计及实现

3.1系统主界面设计

长途汽车订票系统的主界面提供进入系统其他功能模块的方法,使用者能方便地调用插入新信息、修改、查询、退出。

代码如下:

Bshuru()

{BL;

inti;

printf("请输入要汽车信息\n”);

scanf(”%d",&L.len);

for(i=1;i<=L。

len;i++)

{printf(”车号价格票存时间终点\n",i);

printf("请输入车号\n”);

scanf("%d",&L.data[i-1]。

chehao);

printf(”请输入终点\n");

scanf("%s",L.data[i—1]。

zhongdian);

printf("请输入价格\n”);

scanf("%d",&L。

data[i—1].jiage);

printf("请输入时间\n");

scanf(”%d",&L.data[i—1].shijian);

printf(”请输入票存\n”);

scanf("%d",&L。

data[i-1]。

piaocun);

returnL;

}

长途汽车订票系统的应用程序主界面设计成如图3。

1所示的界面。

图3.1登录界面

3。

2插入新乘客

在插入新乘客选项中从键盘上输入进入信息录入界面首先输入此次要录入数据的条数

其代码如下:

intzhao(BL,intn)

{inti=1;

while(L。

data[i—1]。

chehao!

=n&&i〈=L。

len)

i++;

if(i>L。

len)

returnL.len;

else

return-1;

Bcharu(BL)

{intn,x;

printf(”请输入该车的车号:

\n");

scanf(”%d",&n);

x=zhao(L,n);

if(x>0)

{L.data[x]。

chehao=n;

printf(”请输入基本信息\n");

printf(”请输入终点\n”);

scanf("%s",L.data[x]。

zhongdian);

printf(”请输入价格\n”);

scanf("%d”,&L。

data[x]。

jiage);

printf("请输入时间\n");

scanf(”%d",&L。

data[x]。

shijian);

printf(”请输入票存\n”);

scanf(”%d",&L.data[x]。

piaocun);

L.len++;}

else

printf(”请重新输入该车的车号:

\n");

returnL;

图3.2插入乘客界面

3。

3按信息查询

在更新界面中从键盘上输入2按回车键进入按车号查找界面进入更新界面首先要输入您要查询该车的车号,然后进入查询界面,在更新界面中从键盘上输入3按回车键进入按站点查找界面进入更新界面,进入查询界面,如图

图3.3车号查找界面

其代码如下:

voidchehaozhao(BL)

{

intj=1;

intn;

printf(”输入要查询的车号:

\n");

scanf("%d",&n);

while(L.data[j-1]。

chehao!

=n&&j<=L.len)

j++;

if(L.data[j—1].chehao==n)

printf(”车号:

%d",L。

data[j—1]。

chehao);

printf("终点:

%s”,L。

data[j—1].zhongdian);

printf("价格:

%d”,L。

data[j-1]。

jiage);

printf(”时间:

%d",L.data[j—1]。

shijian);

printf(”票存:

%d\n",L。

data[j—1]。

piaocun);

else

printf(”没有!

”);

图3.4按终点查找界面

其代码如下:

voidzhongdianzhao(BL)

intj=1;

charn[N];

printf(”输入要查询的终点:

\n”);

scanf("%s”,n);

while(strcmp(L.data[j-1]。

zhongdian,n)&&j<=L。

len)

j++;

if(strcmp(L.data[j-1]。

zhongdian,n)==0)

{

printf(”车号:

%d",L.data[j—1].chehao);

printf("终点:

%s",L.data[j—1]。

zhongdian);

printf("价格:

%d",L。

data[j—1]。

jiage);

printf(”时间:

%d",L。

data[j-1].shijian);

printf("票存:

%d\n",L.data[j—1]。

piaocun);

}

else

printf(”没有!

”);

3.4修改信息

用户输入信息后发现信息有误或临时有事情,这时就可以使用修改功能。

选择4进入修改界面,然后进行要修改的信息其代码如下:

Bxiugai(BL)

{

inti=1;

intn;

printf(”输入要修改的车号:

\n”);

scanf("%d",&n);

while(L。

data[i-1].chehao!

=n&&i<=L.len)

i++;

if(L。

data[i-1]。

chehao==n)

{printf(”请输入要修改的信息\n”);

printf("请输入价格\n”);

scanf(”%d”,&L。

data[i—1]。

jiage);

printf(”请输入时间\n”);

scanf("%d”,&L。

data[i—1]。

shijian);

printf(”请输入票存\n”);

scanf("%d”,&L.data[i-1].piaocun);

returnL;

}

3.5退票

在更新界面中从键盘上输入5按回车键进入按车号退票界面进入更新界面,然后选择要退票的车号从而进行退票:

图3。

5查询图

其代码如下:

intshan(BL,intn)

{inti=1;

while(L.data[i—1].chehao!

=n&&i<=L.len)

i++;

if(i>L.len)

return—1;

else

returni;

Bchehaoshanchu(BL)

{intn,x,j;

printf("请输入要退票车号:

\n”);

scanf("%d",&n);

x=shan(L,n);

if(x>0)

{for(j=x+1;j<=L.len;j++)

{L。

data[j-2].chehao=L.data[j-1].chehao;

strcpy(L。

data[j-2].zhongdian,L.data[j—1].zhongdian);

L。

data[j—2]。

jiage=L.data[j-1]。

jiage;

L.data[j-2].shijian=L.data[j—1]。

shijian;

L.data[j—2].piaocun=L。

data[j-1]。

piaocun;

}

L。

len--;}

returnL;

3.6票存

在更新界面中从键盘上输入8按回车键进入按票存量报警界面进入更新界面,然可以查看车票的剩余量,可以更好地管理车辆的信息代码如下:

Bbaojing(BL)

{inti,j,k=0;

printf(”检查票存量是否超出!

\n");

printf(”输入最小票存量:

”);

scanf(”%d”,&i);

for(j=0;j

{if(L。

data[j].piaocun

printf("车号:

%d\t\t",L。

data[j—1]。

chehao);

printf(”终点:

%s\t\t”,L。

data[j-1]。

zhongdian);

printf(”价格:

%d\t\t",L.data[j-1].jiage);

printf("时间:

%d\t\t",L.data[j-1]。

shijian);

printf("票存:

%d\t\t”,L.data[j-1]。

piaocun);

k++;}

if(k==0)printf("没有!

”);

returnL;

}

3。

7退出

按任意键即可退出订票界面,欢迎使用订票系统:

 

 

附录

源代码:

//66666666666。

cpp:

Definestheentrypointfortheconsoleapplication.

#include”stdafx。

h"

#include"conio.h”

#include

#include”stdlib.h”

#defineM100

#defineN100

#include〈stdio.h〉

#include〈string。

h>

typedefstructA

{intchehao;

charzhongdian[N];

charzuozhe[N];

intjiage,shijian,piaocun;

}A;

typedefstructB

{Adata[M];

intlen;

}B;

/*1录入信息*/

Bshuru()

{BL;

inti;

printf("请输入要汽车信息\n");

scanf(”%d”,&L。

len);

for(i=1;i<=L.len;i++)

{printf(”车号价格票存时间终点\n",i);

printf("请输入车号\n”);

scanf("%d",&L。

data[i-1].chehao);

printf("请输入终点\n");

scanf("%s",L。

data[i-1]。

zhongdian);

printf(”请输入价格\n”);

scanf(”%d",&L.data[i—1]。

jiage);

printf(”请输入时间\n");

scanf("%d",&L.data[i—1]。

shijian);

printf("请输入票存\n”);

scanf(”%d",&L.data[i-1]。

piaocun);

returnL;

/*2信息输出*/

voidshuchu(BL)

{inti;

printf(”车号终点作者价格时间票存\n");

for(i=1;i<=L.len;i++)

{printf(”%d\t”,L。

data[i—1]。

chehao);

printf(”%s\t",L。

data[i—1].zhongdian);

printf(”%d\t",L.data[i—1]。

jiage);

printf("%d\t”,L。

data[i—1].shijian);

printf(”%d\n",L.data[i—1]。

piaocun);

}

 

/*3按照终点查找*/

voidzhongdianzhao(BL)

intj=1;

charn[N];

printf("输入要查询的终点:

\n”);

scanf(”%s”,n);

while(strcmp(L.data[j—1]。

zhongdian,n)&&j<=L。

len)

j++;

if(strcmp(L.data[j—1].zhongdian,n)==0)

{

printf("车号:

%d",L。

data[j-1]。

chehao);

printf("终点:

%s",L。

data[j-1]。

zhongdian);

printf("价格:

%d”,L.data[j-1]。

jiage);

printf("时间:

%d”,L。

data[j—1].shijian);

printf("票存:

%d\n”,L.data[j-1]。

piaocun);

else

printf(”没有!

");

/*4按照车号查找*/

voidchehaozhao(BL)

intj=1;

intn;

printf("输入要查询的车号:

\n");

scanf("%d",&n);

while(L.data[j-1]。

chehao!

=n&&j〈=L.len)

j++;

if(L。

data[j—1]。

chehao==n)

printf("车号:

%d",L。

data[j-1].chehao);

printf("终点:

%s",L.data[j-1]。

zhongdian);

printf("价格:

%d”,L。

data[j-1]。

jiage);

printf(”时间:

%d",L.data[j-1]。

shijian);

printf(”票存:

%d\n”,L。

data[j—1].piaocun);

}

else

printf("没有!

");

/*5按照车号修改*/

Bxiugai(BL)

{

inti=1;

intn;

printf(”输入要修改的车号:

\n");

scanf(”%d”,&n);

while(L.data[i—1]。

chehao!

=n&&i〈=L.len)

i++;

if(L。

data[i-1]。

chehao==n)

{printf("请输入要修改的信息\n”);

printf("请输入价格\n”);

scanf(”%d",&L。

data[i—1].jiage);

printf(”请输入时间\n");

scanf("%d”,&L.data[i-1]。

shijian);

printf(”请输入票存\n”);

scanf("%d”,&L。

data[i—1]。

piaocun);

}

returnL;

/*6插入乘客*/

intzhao(BL,intn)

{inti=1;

while(L。

data[i-1].chehao!

=n&&i<=L。

len)

i++;

if(i>L.len)

returnL.len;

else

return-1;

}

Bcharu(BL)

{intn,x;

printf(”请输入该车的车号:

\n”);

scanf(”%d",&n);

x=zhao(L,n);

if(x〉0)

{L.data[x]。

chehao=n;

printf("请输入基本信息\n");

printf(”请输入终点\n");

scanf("%s",L.data[x].zhongdian);

printf(”请输入价格\n”);

scanf("%d”,&L。

data[x].jiage);

printf("请输入时间\n");

scanf(”%d”,&L.data[x].shijian);

printf(”请输入票存\n");

scanf("%d",&L.data[x].piaocun);

L.len++;}

else

printf(”请重新输入该车的车号:

\n”);

returnL;

}

/*7按车号退票*/

intshan(BL,intn)

{inti=1;

while(L。

data[i-1].chehao!

=n&&i〈=L.len)

i++;

if(i〉L。

len)

return-1;

else

returni;

Bchehaoshanchu(BL)

{intn,x,j;

printf("请输入要退票车号:

\n”);

scanf("%d”,&n);

x=shan(L,n);

if(x〉0)

{for(j=x+1;j〈=L.len;j++)

{L.data[j—2].chehao=L。

data[j—1]。

chehao;

strcpy(L.data[j—2].zhongdian,L.data[j—1]。

zhongdian);

L。

data[j-2].jiage=L.data[j-1]。

jiage;

L。

data[j—2]。

shijian=L.data[j—1]。

shijian;

L。

data[j—2]。

piaocun=L.data[j—1]。

piaocun;

L。

len-—;}

returnL;

}

/*8.票存量报警*/

Bba

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

当前位置:首页 > 初中教育 > 科学

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

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