C语言实现语音订票系统Word格式文档下载.docx
- 文档编号:22365006
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:44
- 大小:254.92KB
C语言实现语音订票系统Word格式文档下载.docx
《C语言实现语音订票系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言实现语音订票系统Word格式文档下载.docx(44页珍藏版)》请在冰豆网上搜索。
引言……………………………………………………………………………………1
1设计背景,目的及意义……………………………………………………………1
1.1设计背景……………………………………………………………………1
1.2设计目的、方法及意义……………………………………………………1
2系统分析……………………………………………………………………………2
2.1可行性分析…………………………………………………………………2
2.2经济可行性…………………………………………………………………2
2.3技术可行性…………………………………………………………………3
2.4操作可行性…………………………………………………………………3
3需求分析…………………………………………………………………………3
3.1系统设计……………………………………………………………………3
3.2功能需求……………………………………………………………………3
3.3数据需求……………………………………………………………………4
3.4性能需求……………………………………………………………………5
4总体设计……………………………………………………………………………7
4.1软件结构设计………………………………………………………………7
4.1.1总体流程图…………………………………………………………7
4.1.2注册用户功能模块………………………………………………8
4.1.3管理员用户功能模块………………………………………………8
4.1.4E-R图………………………………………………………………9
4.2数据库设计…………………………………………………………………9
4.2.1用户表……………………………………………………………9
4.2.2用户组表…………………………………………………………9
4.2.3车次表……………………………………………………………10
4.2.4车次的线路表……………………………………………………10
4.2.5车次的席位表……………………………………………………10
4.2.6车票表……………………………………………………………11
4.3预模块设计………………………………………………………………11
4.4主函数概述…………………………………………………………………12
4.5显示选择菜单………………………………………………………………12
5系统实现……………………………………………………………………………12
5.1登录界面…………………………………………………………………13
5.2车辆管理…………………………………………………………………13
5.3车次管理…………………………………………………………………13
5.4余票查询…………………………………………………………………13
6软件测试……………………………………………………………………………13
参考文献……………………………………………………………………………14
致谢…………………………………………………………………………………15
附录程序及源代码…………………………………………………………………16
引言
随着现在的高科技飞速发展,信息化的时代特点也已逐渐浮现出来,快节奏、高质量已成为人们生活的主题。
虽然铁路客运行业也已进入了信息化时代,但是人们免不了还要在窗口排长长的队伍等候买票,所以我们在对火车订票系统这个软件成了必要的事情,所以说该系统就应运而生了。
通常我们在正常情况下,人们为了不影响出行会提前去售票处买票,要询问售票人员到目的地的车会有哪些、时间是几点、票价是多少、是否还有票等信息,可能买票的人会很多,所以可能不会问得太详细,这样的流程繁琐且容易出错。
而应用火车订票系统则省去了这些麻烦,通过该系统可以快速、详细地了解用户需要的信息。
1.设计背景、目的及意义
1.1设计背景
随着中国经济社会的建设飞速增长,交通信息和沟通的渠道很是发达,我们在这里为了想要满足我们的平时工作以及生活上的一些需求,使得我们的交通工具发展了起来。
例如:
火车、汽车、飞机、轮船以及近几年建设发展突出的高铁和动车,其中最普遍的出行方式还是铁路出行,既经济实惠,又方便快捷。
因此我们目标是为了解决我们旅客的出行需要和广大的需求,在这里我们自主编程研究了火车订票系统。
1.2设计目的、方法及意义
(1)设计目的:
本论文通过供需分析,在VC++6.0环境下用C语言开发该系统,实现了火车订票功能。
当并且在我们实现的火车订票系统这个过程中,我们火车订票系统在界面当中特别地设置了火车的车次信息查询、显示功能,以及该系统还会可以帮助我们的广大用户方便并且快捷地预订火车的车票,并且我们还会对我们的广大用户的订票信息来进行全方位的保护措施,在最大程度上保证旅客的隐私性。
(2)设计方法及意义:
设计方法如下图表1所示:
1.查询相关资料,了解VC++6.0软件和订票系统的内容;
2.根据订票系统所需的功能设计流程图;
3.根据流程图编写相应的代码;
4.对编写出来的代码进行调试;
5.对程序进行仿真测试;
表1设计方法
Table.1designapproach
设计意义:
本系统为了缓解人工售票的压力,以及订票过程中流程繁琐且容易出错的流程。
所以,我们从此原因出发设计了这个火车订票系统,大大的减少了这些麻烦的存在,通过该系统可以快速、详细地了解用户需要的信息,更快,更方便地帮助人们出行。
2系统分析
火车订票系统由多个模块构成,下面我们将会在下面给出几个经典的模块界面,然后在一些其他界面将会参照光盘当中的源程序来从中进行。
2.1可行性分析
火车订票系统以用户预定火车票的一系列流程为主线,将火车车次详细信息进行显示、保存,同时提供火车的剩余票数,以供用户查询。
2.2经济可行性
当预定成功以后,提供并且保存了我们用户订票信息这个功能。
该系统详细周到的操作流程满足了用户的需求,同时这样的工作水平提高了效率,这让我们处在效率工作当中。
2.3技术可行性
本订票系统的软件开发,他涉及到了以下6个方面。
(1)显示了火车车次的信息情况以及能够提供订票的数量。
(2)对我们要查询的车次或者是我们要到达的城市会提供查询功能。
(3)在此要输入到达城市的车次信息内容,确定是否订票。
(4)可对我们火车票上面的车次信息等内容进行全面的修改。
(5)显示火车车票信息。
(6)该系统还会对火车的车票信息以及订票人的信息从而来进行保存。
2.4操作可行性
火车订票系统是针对用户预定火车票需要的一系列操作而开发的信息化系统,该系统主要满足了用户对火车票信息的查询和订购需求,同时可以对火车车次信息和订票信息进行保存。
3需求分析
3.1系统设计
3.2功能需求
本系统将由以下两个模块组成,将实现两种不同的功能
(1)用户模块功能
(2)管理员功能模块
火车订票软件主要是由输入的火车票的信息、查询火车票的信息、订票、修改火车票的订票信息信息、显示火车票的订票信息、保存订票信息和火车信息到达指定的磁盘文件,一共分为这6模块组成。
以下的表2就是该火车订票系统的结构示意图以及该系统可以实现的功能,以及他功能的分布情况。
表2火车订票系统
Table.2Trainbookingsystem
3.3数据需求
1.数据输入;
2.数据处理;
3.数据输出;
以上内容将会在下表3中展现出来:
表3数据需求表
Table.3Datarequirementstable
输入
处理
输出
我们用户要输入始发以及终点站,并且指明乘车日期
我们系统会自动的搜索我们需要的数据库信息的系统
这样的处理符合了我们给出车次和剩余票数的信息
我们的相关用户需要输入相关的购买车票的信息
继续要执行我们需要订票信息的逻辑
接着我们需要反馈我们系统的操作(这里会提示着购买车票的成功)
我们的用户还要接着输入购票人和他的身份证件
接着需要查询数据库的系统
这样系统会输出已经买票的信息
我们的用户需要输入退订的车票信息
我们还要继续执行有关的逻辑
系统会继续反馈我们的操作(显示退订车票成功)
3.4性能需求
为了使订票系统能够长时间的进行工作以及满足日益增长得物质和文化需要。
我们要保证该系统的稳定、安全、高效以及便捷,这样才会是我们的火车订票系统能够为大众提供高质量的生活。
火车订票系统主界面的运行效果如图所示。
在主界面的内容当中我们可以选择输入阿拉伯数字从数字0—数字6,从而这将会实现相应的性能以及运行的效果如图所示。
表4实践步骤
Table.4Practicalsteps
在主界面上我们将要输入一个“1”,并且在进入此处加入一个火车信息的界面,按照荧屏上给出的信息从而来进行输入火车的车次、始发点、终到站点、出发时间、到达的时间、票价以及可以允许订购的票数。
火车订票的加入的模块使用情况如图5所示。
在主界面中运行“2”,我们能够在火车订票系统中来查询到火车信息,查询的方式有两种情况,第一种是依照车次的查询这种方式方法,第二种是按照我们的意愿查询想要去的地方,如图6所示。
接下来我们在主界面中输入一个“3,然后即将显示的就是来到了订票的界面,我们在此处会根据我们设计的系统的来提示输入我们有意愿想要去的那个城市,这样会自动的显现出来终到站从而来输入我们城市的信息,依照是否能够决定订票与否以及是否输入了用户的信息。
订票模块运转效果图如图7所示
我们主界面中要输入一个“4”,此时系统就会进入批改信息的界面,根据界面上提醒的信息,因此来修改的一些内容。
模块显现的功能如图8所示。
在主界面中输入一个“5”,可以显示出所有的火车信息。
显示模块效果如图9所示
在主界面中输入“6”,我们还会进入到保存模块这个内容当中,并且我们还要将输入的火车信息和订票人的信息存储在指定的磁盘文件中。
运行效果如图10所示
图5模块使用情况
Figure.5Usageofthemodule
图6在主界面中运行“1”
Figure.6Running"
1"
inthemainscreen
图7在主界面中运行“2”
Figure.7Running"
2"
图8在主界面中运行“3”
Figure.8Running"
3"
图9在主界面中运行“4”
Figure.9Running"
4"
图10在主界面中运行“5”
Figure.10Running"
5"
图11在主界面中运行“6”
Figure.11Running"
6"
4总体设计
4.1软件结构设计
4.1.1总体流程图
本系统分为售后服务、卖票的管理、车次的管理以及基础的数据。
下图就是本系统流程图它实现的功能以及结构层次。
图12系统流程图
Figure.12Theflowchartofthesystem
4.1.2注册用户功能模块
我们通过了一系列的分析,得到了我们这个程序系统的注册的用户所运用实现的以下的功能由下图表示。
4.1.3管理员用户功能模块
据需求分析所得,管理员的程序设计由下图表示。
图13注册用户功能模块图图14管理员用户功能模块图
Figure.13Registertheuser'
sfunctionalmodulediagramFigure.14Administratoruserfunctionmodulediagram
4.1.4E-R图
本系统涵盖了用户、票价、车次,他们详细的关系如E-R图所示:
图15实体E-R图
Figure.15Entitye-rdiagram
4.2数据库设计
4.2.1用户表图16用户表
Table.16Theuserstable
4.2.2用户组表图17用户组表
Figure.17Theusergrouptable
4.2.3火车的车次表图18火车的车次表
Figure.18Thetrain'
sschedule
4.2.4车次的线路表图19车次的线路表
Figure.19Thecircuitwatchofthebus
4.2.5车次席位表图20车次席位表
Figure.20Trainseatstable
4.2.6车票表图21车票表
Figure.21Tickettable
4.3预处理模块设计
在程序当中我们为了提高并且加强程序的可读性,因为我们为了能够让这个程序变得可读性要强,因此我们在这个预处理模块当中我们做了充足并且还是个大量的准备工作,从而来解决这些问题。
在预处理模块设计当中,我们还设计了模块宏定义了我们常常用到的字符串,并且是会经常运用到这个方式方法:
输入/输出语句中的字符串。
我们还会使用自定义结构体类型,我们在这种自定义结构体类型当中,预处理模块还会封装、保存了其中存在的类型零散数据,这是他的特点。
预处理模块使整个程序的结构简洁清晰,更容易理解。
预处理模块的设计实现重要包含两个重要的部分,实现过程分别如下图所见。
(1)火车订票系统在显示火车票信息、查询火车票信息和订票等模块中频繁用到输出表头和输出表中数据的语句,因此在预处理模块中对输出信息做了宏定义,当然我们为了能够方便,简化程序员来进行编写程序,不同每次都输入过长的相同信息,也减少了出错的几率。
(2)接下来我们在该系统当中有了很多不同种类的数据信息,如火车票的信息有火车的车次、火车始发站、火车的票价、火车的时间等等,而且订票信息还要储存在订票人员的信息,如订票人的姓名、身份证号、性别等。
这么多不同的数据类型的信息如果在程序中逐个定义,会降低程序的可读性,扰乱编程人员的思维。
因此,在C语言中提供了自定义结构体解决这类问题。
具体的代码如下:
Structtrain
{
Charnum[10];
/*列车号*/
Charstart[10];
/*出发城市*/
Charreachcity[10];
/*目的城市*/
Chartakeofftime[10];
/*发车时间*/
Charreceivetime[10];
/*到达时间*/
Intprices;
/*票价*/
Intticketnum/*票数*/
};
/*订票人的信息*/
Structman
{
/*ID*/
Charname[10]/*姓名*/
IntbookNum;
/*订的票数*/
/*定义火车信息链表的节点结构*/
Typedefstructnode
Structtraindata;
/*声明train结构体类型的变量data*/
Structnode*next;
}Node,*Link;
/*定义订票人链表的节点结构*/
TypedefstructMan
Structmandata;
StructMan*next;
}book,*bookLink;
在上面的代码当中,我们定义了4个结构体类型,并且应用了typedef声明了新的类型名Node为结构体类型、Link为node指针类型,同样也声明了book为Man结构类型、bookLink为Man结构体的类型。
4.4主函数概述
在C语言这个程序当中,我们还要在main()函数当中开始执行程序,然后我们还要从开始调用其他的函数之后,我们的流程就要重新的返回到main()函数当中,我们还要在main()函数当中我们必须要结束整个以及所有的程序编写。
main()函数是定义的,我们在火车订票系统中还要对的这个main()函数中必须要接着调用menu()函数,从而来实现了我们功能选择菜单时候这样的显示,运行效果如图所示。
main()函数同时完成了选择菜单选择功能,即输入菜单中的提示的数字,完成相应的功能。
在
4.5显示选择菜单
我们在编写火车订票系统的程序时,要进行程序的运行这样我们才会看到,第一:
我们还要进入的是选择菜单这样的一个界面,并且我们还会在这里列出程序全部和所有的功能,这样我们还可以使用的用户可以从我们想需要输入以及执行的功能编号,这样还会在我们系统上面的提示下来完成这个该操作,实现订票。
在显示功能选择菜单的函数menu()中主要使用了puts()函数在控制台输出文字或特殊字符。
在我们输入了相与之对应的编号后,我们还会根据系统的程序来根据我们所给出的该编号从而来进行调用我们的这个系统的函数来与之相对应的功能函数,那么我们具体的选择菜单列表这将就会是如下面的表格所示。
编号
功能
退出系统
1
添加火车票信息
2
查询火车票信息
3
订票模块
4
修改火车票信息
5
显示火车票信息
6
保存火车票信息和订票信息到磁盘文件
表22选择菜单列表
Table.22Selectmenulist
函数menu()的实现代码如下所示:
puts(“\n\n”);
puts(“\t\t|-----------------------------------------------------|”);
/*输出到终端*/
puts(“\t\t|BookingTickets|”);
puts(“\t\t|0:
quitthesystem|”);
puts(“\t\t|1:
Insertatraininformation|”);
puts(“\t\t|2:
Searchatraininformation|”);
puts(“\t\t|3:
Bookatraininformation|”);
puts(“\t\t|4:
Modifythetraininformation|”);
puts(“\t\t|5:
Showthetraininformation|”);
puts(“\t\t|6:
saveinformationtofile|”);
}
5系统实现
本章将重要讲明我们系统将要展示的功能效果。
这里我们主要介绍登录的界面、车辆管理、车次管理以及余票的查询这四部分的功能。
5.1登录界面
图23登录界面图
Figure.23Loginscreeninfigure
5.2车辆管理
我们自己可以进行编辑,即:
增加车次、删除车次、修改车辆类型这写=些部分,这样可以大幅度的增加灵活性,便于使用。
5.3车次管理
我们设置的管理员的作用:
那就是我们要进行集体的管理车次的具体信息,这是管理员的主要作用及其功能。
其中主要包括四各部分。
车次代码、经途站、运行的时间以及总共的里程这些部分。
5.4余票查询
余票查询可以用来查询需要车次的剩余车票的情况,方便旅客出行。
6软件测试
参考文献
[1]商恩福.网上订票系统分析与设计[J].电脑编程技巧与维护,2009,16
(1):
13-14.
[2]JSPapplication&
developmentindatawarehouse[M].BeijingHopeElectronicPress,2001.
[3]刘香萍,赵雪岩,焦宁.基于Struts框架的网上订票系统的设计与实现[J].计算机工程与设计.2007(20).
[4]王萍
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实现 语音 订票 系统