简单的汽车站售票系统.docx
- 文档编号:6652726
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:14
- 大小:96.37KB
简单的汽车站售票系统.docx
《简单的汽车站售票系统.docx》由会员分享,可在线阅读,更多相关《简单的汽车站售票系统.docx(14页珍藏版)》请在冰豆网上搜索。
简单的汽车站售票系统
沈阳航空航天大学
课程设计
学号2009040301004
班级94030101
姓名刘曦
指导教师刘学平
2011年3月18日
沈阳航空航天大学
课程设计任务书
学院:
航宇专业:
飞行器制造班级:
94030101
学号:
2009040301004题目:
简单的汽车站售票系统
一、课程设计时间
2011年3月7日~11日(第1周),共计1周。
二、课程设计内容
假设每天“沈阳→植物园”有4个班次的汽车,具体的数据如下:
班次发车时间载客量已售票数
106:
40500
209:
30400
313:
00400
416:
00400
数据保存在文本文件或Access数据库中,请你为售票员开发一个程序,实现每天的“沈阳→植物园”的售票、退票等业务。
要求:
售票时按旅客要求选择班次,如果某个班次已过了发车时间,则该班次今天不再售票,如果某个班次的票已售完,则也不能再售票。
用户界面中的菜单至少应包括“售票”、“退票”、“显示当前售票情况”、“退出”4项
三、课程设计要求
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确操作方便;可以加以其它功能或修饰。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课设结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩六、教师评语
目录
一、需求分析4
二、设计分析5
三、关键技术6
四、总结11
五、完整的源程序12
六、参考文献16
一、需求分析
简单的汽车售票系统,主要指“售票”和“退票”这两种业务。
由于每班车都有规定的发车时间及最大载客量,所以系统必须能够判断是否已过发车时间,累计每个班次的售票量。
应旅客要求实现“售票”和“退票”业务,并显示当前每班车次的售票情况。
要求:
(1)在文本文件中创建myfile.txt文件并保存数据,以“已售票数”、“已退票数”和“实售票数”3方面信息。
此文本应包括以下内容的数据:
班次、发车时间、载客量、已售票数、已退票数、实售票数。
(2)能够在售票时按旅客要求选择班次。
(3)能够判断是否已过发车时间,实现相应售退票业务。
(4)能够判断每个班次的票是否售完,实现相应售退票业务。
(5)能够保存售退票数,显示当前各个班次的售退票情况。
二、设计分析
(1)基本原理:
建立程序设计与文本文件的联系,用Write#语句把数据写入文件,并通过使用Input#语句,从文件中按原来的数据类型读出数据并分别赋予指定变量。
(2)总体设计:
图1总体设计
(3)详细设计:
图2详细设计
(4)文本设计:
文本设计是总体设计阶段的一个环节。
本程序的文本文件包括6个内容,即班次、发车时间、载客量、已售票数、已退票数、实售票数。
1)汽车各班次具体情况(myfile.txt)
汽车各班次具体情况(myfile.txt)用于记录“班次、发车时间、载客量、已售票数、已退票数、实售票数”这些信息,其结构如文本1所示。
文本1汽车各班次具体情况
班次发车时间载客量已售票数已退票数实售票数
16:
4050c1b1a1
29:
3040c2b2a2
313:
0040c3b3a3
416:
0040c4b4a4
三、关键技术
(1)建立文本文件并输入已知数据的代码如下。
PrivateSubbc_Click()
Open"myfile.txt"ForOutputAs#1
Write#1,"当前售票情况:
"
Write#1,"班次发车时间载客量已售票数已退票数实际售票"
Write#1,"106:
4050"&Space(5)&c1&Space(12)&b1&Space(8)&a1
Write#1,"209:
3040"&Space(5)&c2&Space(12)&b2&Space(8)&a2
Write#1,"313:
0040"&Space(5)&c3&Space(12)&b3&Space(8)&a3
Write#1,"416:
0040"&Space(5)&c4&Space(12)&b4&Space(8)&a4
Close#1
EndSub
图3窗体-售退票系统判断是否已过发车时间
(2)判断是否已过发车时间。
程序段如下:
PrivateSubForm_Load()
Form1.AutoRedraw=True
PrintTime
IfTime>=#6:
40:
00AM#Then
Option1.Enabled=False
EndIf
IfTime>=#9:
30:
00AM#Then
Option2.Enabled=False
EndIf
IfTime>=#1:
00:
00PM#Then
Option3.Enabled=False
EndIf
IfTime>=#4:
00:
00PM#Then
Option4.Enabled=False
EndIf
EndSub
(3)按旅客选择实现相应班次的售票业务。
程序段如下:
PrivateSubsell_Click()
Text1.Text=a1
Text2.Text=a2
Text3.Text=a3
Text4.Text=a4
IfOption1Then
a1=a1+1
c1=a1+b1
Ifa1>50Then
a1=50
c1=a1+b1
EndIf
ElseIfOption2Then
a2=a2+1
c2=a2+b2
Ifa2>40Then
a2=40
c2=a2+b2
EndIf
ElseIfOption3Then
a3=a3+1
c3=a3+b3
Ifa3>40Then
a3=40
c3=a3+b3
EndIf
ElseIfOption4Then
a4=a4+1
c4=a4+b4
Ifa4>40Then
a4=40
c4=a4+b4
EndIf
EndIf
Text1.Text=a1
Text2.Text=a2
Text3.Text=a3
Text4.Text=a4
EndSub
(4)按旅客选择实现相应班次的退票业务。
程序段如下:
PrivateSubrefund_Click()
Text1.Text=a1
Text2.Text=a2
Text3.Text=a3
Text4.Text=a4
IfOption1Then
a1=a1-1
b1=c1-a1
Ifa1<=0Then
a1=0
b1=c1
EndIf
ElseIfOption2Then
a2=a2-1
b2=c2-a2
Ifa2<=0Then
a2=0
b2=c2
EndIf
ElseIfOption3Then
a3=a3-1
b3=c3-a3
Ifa3<=0Then
a3=0
b3=c3
EndIf
ElseIfOption4Then
a4=a4-1
b4=c4-a4
Ifa4<=0Then
a4=0
b4=c4
EndIf
EndIf
Text1.Text=a1
Text2.Text=a2
Text3.Text=a3
Text4.Text=a4
EndSub
图4-窗体售退票系统
(5)保存售退票数,并显示当先的售票情况。
程序段如下:
PrivateSubForm_Load()
DimabcAsString
Text1.Text=""
Open"myfile.txt"ForInputAs#1'打开文件myfile.txt用于读出数据,文件号为1
DoWhileNotEOF
(1)'判断文件是否结束
LineInput#1,cba'读一行数据送入变量abc
Text1.Text=Text1.Text+cba+vbCrLf'将读出的数据添加到文本框末尾
Loop
Close#1'关闭文件
EndSub
图5窗体-显示当前的售退票情况
四、总结
本次课设,我的题目是“简单的汽车售票系统”,课设让我进一步了解了VB与文本文件之间的联系,学会了如何用Write#语句把数据写入文件,并通过使用Input#语句,从文件中按原来的数据类型读出数据并分别赋予指定变量。
在这次为期一周的课设过程中,我遇到了很多难题,认识到了自己在对VB的掌握程度上还有很多不足之处。
例如:
如何判断是否已经达到最大售票量,如何建立VB与已保存在文本文件中的数据的联系,并在此基础上添加变量显示当前的售票情况。
通过对老师的请教,跟同学的探讨以及查看参考相关资料,我最终解决了程序设计中的困难,实现了题目中的各个要求。
通过课设中对VB的进一步了解和学习,我认识到了VB在当今的现实生活中有着广泛的应用,VB对于解决实际问题有着重要意义。
学好VB基础,并能熟练掌握知识点解决实际问题是当代大学生的重要任务。
五、完整的源程序
OptionExplicit
Dima1%,a2%,a3%,a4%,b1%,b2%,b3%,b4%,c1%,c2%,c3%,c4%
PrivateSubbc_Click()
Open"myfile.txt"ForOutputAs#1
Write#1,"当前售票情况:
"
Write#1,"班次发车时间载客量已售票数已退票数实际售票"
Write#1,"106:
4050"&Space(5)&c1&Space(12)&b1&Space(8)&a1
Write#1,"209:
3040"&Space(5)&c2&Space(12)&b2&Space(8)&a2
Write#1,"313:
0040"&Space(5)&c3&Space(12)&b3&Space(8)&a3
Write#1,"416:
0040"&Space(5)&c4&Space(12)&b4&Space(8)&a4
Close#1
EndSub
PrivateSubexit_Click()
End
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
PrintTime
IfTime>=#6:
40:
00AM#Then
Option1.Enabled=False
EndIf
IfTime>=#9:
30:
00AM#Then
Option2.Enabled=False
EndIf
IfTime>=#1:
00:
00PM#Then
Option3.Enabled=False
EndIf
IfTime>=#4:
00:
00PM#Then
Option4.Enabled=False
EndIf
EndSub
PrivateSubrefund_Click()
Text1.Text=a1
Text2.Text=a2
Text3.Text=a3
Text4.Text=a4
IfOption1Then
a1=a1-1
b1=c1-a1
Ifa1<=0Then
a1=0
b1=c1
EndIf
ElseIfOption2Then
a2=a2-1
b2=c2-a2
Ifa2<=0Then
a2=0
b2=c2
EndIf
ElseIfOption3Then
a3=a3-1
b3=c3-a3
Ifa3<=0Then
a3=0
b3=c3
EndIf
ElseIfOption4Then
a4=a4-1
b4=c4-a4
Ifa4<=0Then
a4=0
b4=c4
EndIf
EndIf
Text1.Text=a1
Text2.Text=a2
Text3.Text=a3
Text4.Text=a4
EndSub
PrivateSubsell_Click()
Text1.Text=a1
Text2.Text=a2
Text3.Text=a3
Text4.Text=a4
IfOption1Then
a1=a1+1
c1=a1+b1
Ifa1>50Then
a1=50
c1=a1+b1
EndIf
ElseIfOption2Then
a2=a2+1
c2=a2+b2
Ifa2>40Then
a2=40
c2=a2+b2
EndIf
ElseIfOption3Then
a3=a3+1
c3=a3+b3
Ifa3>40Then
a3=40
c3=a3+b3
EndIf
ElseIfOption4Then
a4=a4+1
c4=a4+b4
Ifa4>40Then
a4=40
c4=a4+b4
EndIf
EndIf
Text1.Text=a1
Text2.Text=a2
Text3.Text=a3
Text4.Text=a4
EndSub
PrivateSubshow_Click()
Form2.show
EndSub
PrivateSubCommand1_Click()
Form2.Hide
EndSub
PrivateSubForm_Load()
DimabcAsString
Text1.Text=""
Open"myfile.txt"ForInputAs#1'打开文件myfile.txt用于读出数据,文件号为1
DoWhileNotEOF
(1)'判断文件是否结束
LineInput#1,cba'读一行数据送入变量abc
Text1.Text=Text1.Text+cba+vbCrLf'将读出的数据添加到文本框末尾
Loop
Close#1'关闭文件
EndSub
六、参考文献
[1]求是科技著《visualbasic6.0信息管理系统开发实例导航》人民邮电出版社2005年4月
[2]韩亚萍等《visualbasic6.0基础培训百例》机械工业出版社2006年7月
[3]郑海春谢维成主编《visualbasic6.0编程及实例分析教程》清华大学出版社2007年4月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 汽车站 售票 系统