火车站售票管理系统_第1页
火车站售票管理系统_第2页
火车站售票管理系统_第3页
火车站售票管理系统_第4页
火车站售票管理系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、 火车站售票管理系统院 系 专业班级 学生姓名 指导教师 数据库设计文档一、 系统需求分析报告(数据流图、数据词典和功能分析)系统应具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。1、 功能需求经过分析后确定系统应具备以下功能:(1)、售票功能 销售车票 预订车票 退票(2)、查询功能 车次查询 时刻表查询 售票情况查询(3)、调度功能 运价修改 车辆修改 终点站修改 车次修改(4)、维护功能 车票表修改 预订车票表修改 退票表修改 密码修改(5)、统计功

2、能 售票统计 报表打印2、数据流图使用结构化分析方法,确定系统的数据主要是运价、车次、终点站名、发车时间和车票,对数据的操作主要有运价修改、车次修改、终点站修改、发车时间修改、售票及打印,可以确定系统的处理逻辑和流程,得到如下所示的系统数据流图。系统管理员车次修改运价修改终点站修改发车修改售票车次表运价表终点站名表发车时刻表查询售票员预订车票表退票表已售车票表报表打印车票已售车票表3、数据字典:经过分析可以得到以下数据流条目:车次表=车辆编号+车型+座位数终点站名表=站名+里程运价表=车型+运价发车时刻表=车次+车辆编号+站名+发车时间+检票口已售车票表=票号+乘车日期+车次+站名+发车时间+

3、票价+全半价+工号+退票否预订车票表=预订号+乘车日期+车次+站名+发车时间+车型+票价+客户名称+订票数量退票表=票号+退票时间+票价+应退款售票员编号=工号+姓名车辆编号=6数字6车次=4字符5车型=1字符8座位数=2数字2检票口=1数字2站名=1字符10里程=1数字5运价=1数字6发车时间=时间乘车日期=日期票号=7数字7票价=1数字5全半价=2字符2退票否=t|f预订号=4数字4客户名称=6字符20订票数量=1数字2退票时间=日期时间应退款=1数字5工号=3字符3姓名=4字符8二、 数据逻辑结构设计(e-r图、关系模式和数据库结构)1、er图车辆目标站名开往车辆编号车型座位数车次发车时

4、间检票口站名里程nm车票售票员售票票号预订顾客车次站名票价座位号全半价乘车日期工号站名车次预订号顾客名称退票退票时间计费运价车型价格nnnn1111票价应退款退票否乘车日期姓名主键: 外键: 2、关系模式车辆(车辆编号,车型,座位数)目标站名(站名,里程)发车时刻表(车次,站名,车辆编号,发车时间,检票口)途径(车次,站名)车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否)预订(预订号,车次,站名,乘车日期,顾客名称,票数)退票(票号,退票时间,票价,应退款)售票员(工号,姓名)运价(车型,价格)3、数据库结构车辆表:字段名类型长度小数点允许空主/外键车辆编号int4主车型

5、varchar8座位数smallint2目标站名:字段名类型长度小数点允许空主/外键站名varchar10主里程int4发车时刻表:字段名类型长度小数点允许空主/外键车次varchar5主站名varchar10外车辆编号int4外发车时间datetime 8检票口smallint2途径表:字段名类型长度小数点允许空主/外键车次varchar5主站名varchar10外车票表:字段名类型长度小数点允许空主/外键票号int4主乘车日期datetime8车次varchar5外站名varchar10外票价float8全半价char2座位号smallint2工号char3退票否char1预订表:字段名类

6、型长度小数点允许空主/外键预订号int4主车次varchar5外站名varchar10外乘车日期datetime8顾客名称varchar20票数smallint2退票表:字段名类型长度小数点允许空主/外键票号int4主退票时间datetime8票价float8应退款float8售票员表:字段名类型长度小数点允许空主/外键工号char3主姓名char8运价表:字段名类型长度小数点允许空主/外键车型varchar8主价格float8三、 软件结构设计(画出系统软件结构图)车站售票管理系统售票功能查询功能调度功能维护功能统计功能销售车票预订车票退票车次查询时刻表查询售票情况查询运价修改车辆修改终点站

7、修改车次修改已售车票表预订车票表退票表售票统计报表打印四、 程序模块设计与调试(设计和调试各程序模块,提交主要的程序段)用户登入用户名和密码校对:private sub cmdok_click()dim username1 as string, username2 as stringusername1 = text1.textif option1.value then set text3.datasource = adodc1 text3.datafield = 口令 adodc1.recordset.movefirst if username1 then username2 = 用户名= &

8、 username1 & adodc1.recordset.find username2 if adodc1.recordset.eof then msgbox 用户名错误请重输, 16, 错误 else if text2.text text3.text then msgbox 密码错误请重输, 16, 错误 text2.text = else mdiform1.show form1.hide end if end if end ifelse if option2.value then set text3.datasource = adodc2 text3.datafield = 口令 ado

9、dc2.recordset.movefirst if username1 then username2 = 工号= & username1 & adodc2.recordset.find username2 if adodc2.recordset.eof then msgbox 用户名错误请重输, 16, 错误 else if text2.text text3.text then msgbox 密码错误请重输, 16, 错误 text2.text = else mdiform1.show form1.hide end if end if end if end ifend ifend sub当选

10、中车次显示当前座位号和剩余票数,及拒售离开车只有五钟的车票private sub datagrid1_click()dim cc as string, sum as integersum = 0adodc3.recordset.movefirstadodc4.recordset.movefirstadodc6.recordset.movefirstadodc7.recordset.movefirstadodc8.recordset.movefirstif month(date) = combo2.text and day(date) = combo3.text then if (hour(te

11、xt19.text) - hour(now) * 60 + minute(text19.text) - minute(now) month(text2.text) then text4.text = int(val(text6.text) * 0.1 + 0.5)else if month(text5.text) = month(text2.text) then if day(text5.text) day(text2.text) then text4.text = val(text6.text) - int(val(text6.text) * 0.1 + 0.5) else if day(t

12、ext5.text) = day(text2.text) then if (hour(text9.text) - hour(text2.text) * 60 + minute(text9.text) - minute(text2.text) = 120 then text4.text = val(text6.text) - int(val(text6.text) * 0.1 + 0.5) else if (hour(text9.text) - hour(text2.text) * 60 + minute(text9.text) - minute(text2.text) = 60 then te

13、xt4.text = val(text6.text) - int(val(text6.text) * 0.2 + 1) else if (hour(text9.text) - hour(text2.text) * 60 + minute(text9.text) - minute(text2.text) 5 then msgbox 接近发车不能退票, 16, 错误 form5.hide else text4.text = int(val(text6.text) * 0.3 + 1) end if end if end if else msgbox 车票过期不能退, 16, 错误 form5.hi

14、de end if end if else msgbox 车票过期不能退, 16, 错误 form5.hide end ifend ifelse msgbox 没有该票, 16, 错误end ifend sub五、 软件使用说明书首先通过登录界面进行登录,登录的身份分为管理员和售票员,管理员的用户名默认为:administrator,密码为:123456;售票员的用户名为自己的工号,初始密码也为:123456。密码的修改可以通过登录后选择文件菜单口令修改,进行密码的修改。售票员登录后能使用的菜单有:文件、售票、查询、统计。1、 售票菜单下有:销售车票、预订车票、退票等功能,退票时只需输入票号即

15、可退票。2、 查询菜单下有:车次查询、时刻表查询、售票情况查询。车次查询可进行浏览和输入车次查询,选中某个车次后可查看它的途径站点。时刻表查询按时间的先后进行排列,一秒钟记录自动下移一条,同时显示该车的途径站点。售票情况查询按站名对每班车进行排列,每一秒钟移动一条记录,同时显示总的票数和剩余的票数。3、 统计菜单有:售票统计和报表打印。售票统计可以按车次进行统计,列出每一个次车所卖出的票数;也可以按售票员的工号进行统计,列出每位售票员卖出的票数。管理员登录后能使用的菜单有:文件、查询、调度、维护、统计。1、 文件菜单、查询菜单及统计菜单与售票员的相同2、 调度菜单下有:运价修改、车辆修改、终点站修改、车次修改。运价

温馨提示

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

评论

0/150

提交评论