汽车订票系统设计与实现(顺序表).doc_第1页
汽车订票系统设计与实现(顺序表).doc_第2页
汽车订票系统设计与实现(顺序表).doc_第3页
汽车订票系统设计与实现(顺序表).doc_第4页
汽车订票系统设计与实现(顺序表).doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书长途汽车站车票订票系统设计与实现(顺序表实现)摘 要数据结构中,主要讲解的是典型的数据结构:线性表,树与二叉树,图等的存储及基本操作。数据结构在计算机科学中是一门综合性的专业基础课。本课程程介绍如何组织数据在计算机中的存储、传递和转换。内容包括:数组、链接表、栈和队列、树与森林、图、查找、排序等。课程采用Turbo C语言作为算法的描述工具,强化数据结构基本知识和程序设计基本能力的双基训练,为后续计算机专业课程的学习打下坚实的基础。数据结构的研究不仅涉及到计算机硬件(特别是编码理论、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有着更密切的关系,无论是编译程序还是操作系统,都涉及到数据元素在存储器中的分配问题。在研究信息检索时也必须考虑如何组织数据,以便查找和存取数据元素更为方便。因此,可以认为数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程,在计算机科学中,数据结构不仅是一般程序设计(特别是非数值计算的程序设计)的基础,而且是设计和实现编译程序、操作系统、数据系统及其它系统程序和大型应用程序的重要基础。本次课程设计的题目是长途汽车站车票订票系统,是通过访问主页,可以实现车次车票价格的查询,在线订票退票等基本功能,为用户提供方便快捷的订票服务。本文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系统的设计思路、总体设计、各个功能模块的设计与实现方法。关键词:学生成绩, C语言, 数据结构本章叙述了系统的总体设计62.1 系统模块划分62.2 系统模块结构图73.1系统主界面设计83.2插入新乘客93.3按信息查询113.4修改信息143.5退票153.6票存163.7退出17总 结1参考文献1本章叙述的是系统概述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系统主界面设计长途汽车订票系统的主界面提供进入系统其他功能模块的方法,使用者能方便地调用插入新信息、 修改、 查询、退出。代码如下:B shuru( ) B L;int i;printf(请输入要汽车信息n);scanf(%d,&L.len);for(i=1;i=L.len;i+) printf(车号 价格 票存 时间 终点n,i);printf(请输入车号n);scanf(%d,&L.datai-1.chehao);printf(请输入终点n);scanf(%s,L.datai-1.zhongdian);printf(请输入价格n);scanf(%d,&L.datai-1.jiage);printf(请输入时间n);scanf(%d,&L.datai-1.shijian);printf(请输入票存n);scanf(%d,&L.datai-1.piaocun);return L; 长途汽车订票系统的应用程序主界面设计成如图3.1所示的界面。图3.1 登录界面3.2插入新乘客在插入新乘客选项中从键盘上输入进入信息录入界面首先输入此次要录入数据的条数其代码如下: int zhao(B L,int n) int i=1;while(L.datai-1.chehao!=n&iL.len) return L.len; else return -1;B charu(B L) int n,x; printf(请输入该车的车号:n); scanf(%d,&n); x=zhao(L,n); if(x0) L.datax.chehao=n; printf(请输入基本信息n); printf(请输入终点n); scanf(%s,L.datax.zhongdian); printf(请输入价格n); scanf(%d,&L.datax.jiage); printf(请输入时间n); scanf(%d,&L.datax.shijian); printf(请输入票存n); scanf(%d,&L.datax.piaocun); L.len+; else printf(请重新输入该车的车号:n); return L; 图 3.2插入乘客界面3.3按信息查询在更新界面中从键盘上输入2按回车键进入按车号查找界面进入更新界面首先要输入您要查询该车的车号,然后进入查询界面,在更新界面中从键盘上输入3按回车键进入按站点查找界面进入更新界面,进入查询界面,如图图3.3 车号查找界面其代码如下:void chehaozhao(B L)int j=1;int n;printf(输入要查询的车号:n);scanf(%d,&n);while(L.dataj-1.chehao!=n&j=L.len)j+;if(L.dataj-1.chehao=n)printf(车号:%d,L.dataj-1.chehao);printf(终点:%s,L.dataj-1.zhongdian);printf(价格:%d,L.dataj-1.jiage);printf(时间:%d,L.dataj-1.shijian);printf(票存:%dn,L.dataj-1.piaocun);elseprintf(没有!); 图3.4按终点查找界面其代码如下:void zhongdianzhao(B L)int j=1;char nN;printf(输入要查询的终点:n);scanf(%s,n);while(strcmp(L.dataj-1.zhongdian,n)&j=L.len)j+;if(strcmp(L.dataj-1.zhongdian,n)=0)printf(车号:%d,L.dataj-1.chehao);printf(终点:%s,L.dataj-1.zhongdian);printf(价格:%d,L.dataj-1.jiage);printf(时间:%d,L.dataj-1.shijian);printf(票存:%dn,L.dataj-1.piaocun);elseprintf(没有!);3.4修改信息用户输入信息后发现信息有误或临时有事情,这时就可以使用修改功能。选择4进入修改界面,然后进行要修改的信息其代码如下:B xiugai(B L)int i=1;int n;printf(输入要修改的车号:n);scanf(%d,&n);while(L.datai-1.chehao!=n&i=L.len)i+;if(L.datai-1.chehao=n)printf(请输入要修改的信息n);printf(请输入价格n);scanf(%d,&L.datai-1.jiage);printf(请输入时间n);scanf(%d,&L.datai-1.shijian);printf(请输入票存n);scanf(%d,&L.datai-1.piaocun);return L;3.5退票在更新界面中从键盘上输入5按回车键进入按车号退票界面进入更新界面,然后选择要退票的车号从而进行退票:图3.5 查询图其代码如下:int shan(B L,int n) int i=1;while(L.datai-1.chehao!=n&iL.len)return -1;elsereturn i;B chehaoshanchu(B L) int n,x,j;printf(请输入要退票车号:n);scanf(%d,&n);x=shan(L,n);if(x0) for(j=x+1;j=L.len;j+) L.dataj-2.chehao=L.dataj-1.chehao;strcpy(L.dataj-2.zhongdian,L.dataj-1.zhongdian);L.dataj-2.jiage=L.dataj-1.jiage;L.dataj-2.shijian=L.dataj-1.shijian;L.dataj-2.piaocun=L.dataj-1.piaocun;L.len-;return L;3.6票存在更新界面中从键盘上输入8按回车键进入按票存量报警界面进入更新界面,然可以查看车票的剩余量,可以更好地管理车辆的信息代码如下:B baojing(B L)int i,j,k=0;printf(检查票存量是否超出!n);printf(输入最小票存量:);scanf(%d,&i);for(j=0;jL.len;j+)if(L.dataj.piaocuni)printf(车号:%dtt,L.dataj-1.chehao);printf(终点:%stt,L.dataj-1.zhongdian);printf(价格:%dtt,L.dataj-1.jiage);printf(时间:%dtt,L.dataj-1.shijian);printf(票存:%dtt,L.dataj-1.piaocun);k+;if(k=0) printf( 没有!);return L;3.7退出按任意键即可退出订票界面,欢迎使用订票系统: 附录源代码:/ 66666666666.cpp : Defines the entry point for the console application.#include stdafx.h#include conio.h#include#include stdlib.h#define M 100#define N 100#include#includetypedef struct A int chehao;char zhongdianN;char zuozheN;int jiage,shijian,piaocun; A;typedef struct BA dataM;int len;B;/*1录入信息*/B shuru( ) B L;int i;printf(请输入要汽车信息n);scanf(%d,&L.len);for(i=1;i=L.len;i+) printf(车号 价格 票存 时间 终点n,i);printf(请输入车号n);scanf(%d,&L.datai-1.chehao);printf(请输入终点n);scanf(%s,L.datai-1.zhongdian);printf(请输入价格n);scanf(%d,&L.datai-1.jiage);printf(请输入时间n);scanf(%d,&L.datai-1.shijian);printf(请输入票存n);scanf(%d,&L.datai-1.piaocun);return L;/*2信息输出*/void shuchu(B L)int i;printf( 车号 终点 作者 价格 时间 票存 n);for(i=1;i=L.len;i+)printf( %dt ,L.datai-1.chehao);printf(%st ,L.datai-1.zhongdian);printf(%dt,L.datai-1.jiage);printf(%dt,L.datai-1.shijian);printf(%dn ,L.datai-1.piaocun);/*3按照终点查找*/void zhongdianzhao(B L)int j=1;char nN;printf(输入要查询的终点:n);scanf(%s,n);while(strcmp(L.dataj-1.zhongdian,n)&j=L.len)j+;if(strcmp(L.dataj-1.zhongdian,n)=0)printf(车号:%d,L.dataj-1.chehao);printf(终点:%s,L.dataj-1.zhongdian);printf(价格:%d,L.dataj-1.jiage);printf(时间:%d,L.dataj-1.shijian);printf(票存:%dn,L.dataj-1.piaocun);elseprintf(没有!);/*4按照车号查找*/void chehaozhao(B L)int j=1;int n;printf(输入要查询的车号:n);scanf(%d,&n);while(L.dataj-1.chehao!=n&j=L.len)j+;if(L.dataj-1.chehao=n)printf(车号:%d,L.dataj-1.chehao);printf(终点:%s,L.dataj-1.zhongdian);printf(价格:%d,L.dataj-1.jiage);printf(时间:%d,L.dataj-1.shijian);printf(票存:%dn,L.dataj-1.piaocun);elseprintf(没有!);/*5按照车号修改*/B xiugai(B L)int i=1;int n;printf(输入要修改的车号:n);scanf(%d,&n);while(L.datai-1.chehao!=n&i=L.len)i+;if(L.datai-1.chehao=n)printf(请输入要修改的信息n);printf(请输入价格n);scanf(%d,&L.datai-1.jiage);printf(请输入时间n);scanf(%d,&L.datai-1.shijian);printf(请输入票存n);scanf(%d,&L.datai-1.piaocun);return L;/*6插入乘客*/int zhao(B L,int n) int i=1;while(L.datai-1.chehao!=n&iL.len)return L.len;elsereturn -1;B charu(B L) int n,x;printf(请输入该车的车号:n);scanf(%d,&n);x=zhao(L,n);if(x0) L.datax.chehao=n;printf(请输入基本信息n);printf(请输入终点n);scanf(%s,L.datax.zhongdian);printf(请输入价格n);scanf(%d,&L.datax.jiage);printf(请输入时间n);scanf(%d,&L.datax.shijian);printf(请输入票存n);scanf(%d,&L.datax.piaocun);L.len+;elseprintf(请重新输入该车的车号:n);return L;/*7按车号退票*/int shan(B L,int n) int i=1;while(L.datai-1.chehao!=n&iL.len)return -1;elsereturn i;B chehaoshanchu(B L) int n,x,j;printf(请输入要退票车号:n);scanf(%d,&n);x=shan(L,n);if(x0) for(j=x+1;j=L.len;j+) L.dataj-2.chehao=L.dataj-1.chehao;strcpy(L.dataj-2.zhongdian,L.dataj-1.zhongdian);L.dataj-2.jiage=L.dataj-1.jiage;L.dataj-2.shijian=L.dataj-1.shijian;L.dataj-2.piaocun=L.dataj-1.piaocun;L.len-;return L;/*8.票存量报警*/B baojing(B L)int i,j,k=0;printf(检查票存量是否超出!n);printf(输入最小票存量:);scanf(%d,&i);for(j=0;jL.len;j+)if(L.dataj.piaocun梦幻豪华巴士订票系统 n);printf( (1)初始化 n);printf( (2)根据车号找 n);printf( (3)根据终点找 n);printf( (4)修改信息 n);printf( (5)根据车号退票 n);printf( (6)插入乘客 n);printf( (8)票存量报警 n);printf( (0)退出系统 n);printf(选择你要的操作:);scanf(%d,&a);getchar();switch(a)case 1:printf(*n);printf(* 汽车订票系统初始化 *n);printf(*n);L=shuru();break;case 2:printf(*n);printf(* 车号查找 *n);printf(*n);chehaozhao(L);break;case 3:printf(*n);printf(* 按终点查找 *n);printf(*n);zhongdianzhao(L);break;case 4:printf(*n);printf(* 信息修改 *n);printf(*n);xiugai(L);break;case 5:printf(*n);printf(* 退票 *n);printf(*n);chehaoshanchu(L);break;case 6:printf(*n);printf(* 乘客的插入 *n);printf(*n);charu(L);break;case 7:printf(*n);printf(* 图书的票存排序 *n);printf(*n);piaocunpaixu(L);break;case 8:p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论