列车时刻表VB课程设计.docx
《列车时刻表VB课程设计.docx》由会员分享,可在线阅读,更多相关《列车时刻表VB课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
列车时刻表VB课程设计
VB课程设计(论文)任务书
土木建筑学 院 给排水排水专 业2 班
一、课程设计(论文)题目:
列车时刻查询
二、课程设计(论文)工作自2012年6月11日起至2012年6月17日止。
三、课程设计(论文)地点:
8-502
四、课程设计(论文)内容要求:
1.本课程设计的目的
1.综合VisualBasic相关知识制作简单的可视化应用程序
2.灵活对程序代码进行利用,修改和编写;
3.熟练将VisualBasic所学知识和其它知识相结合
2.课程设计的任务及要求
1)基本要求:
(1)分析系统各功能模块;
(2)选用合适的控件及算法;
(3)提出系统的设计方案;
(4)对所设计程序进行调试。
2)创新要求:
在基本要求达到后,可进行创新设计,如增加功能,算法优化等;
3)课程设计论文编写要求
(1)要按照书稿的规格打印誊写论文;
(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等;
(3)论文装订按学校的统一要求完成;
(5)参考文献
(1)Visualbasic程序设计实验教程【M】吴昊杜玲玲(人民邮电出版社。
2011.3)
(2)Visualbasic程序设计【M】熊李艳周美玲(人民邮电出版社。
2011.
(6)课程设计进度安排
内容天数 7 地点
系统分析及收集资料2 图书馆
编写与调试程序2 计算中心
撰写论文3 图书馆、计算中心
设计要求:
设计一个列车时刻查询系统
第一启动程序,同时显示七个控件。
第二控件一选择经停车站然后在控件二显示经过这个车站的车次,再控件二选择车次就会在控件三四五六分别显示起点站,终点站,发车时刻,到达时刻和经停站的地点和相应的时刻。
学生签名:
2012年6月11日
课程设计(论文)评阅意见
序号
项目
等 级
优秀
良好
中等
及格
不及格
1
课程设计态度评价
2
出勤情况评价
3
任务难度评价
4
工作量饱满评价
5
设计中创新性评价
6
论文书写规范化评价
综合评定等级
评阅人周美玲职称讲师
2012年6月17日
目录
《程序设计语言(VB)》课程设计4
一、设计目的4
二、环境配置要求4
三、设计题目列车时刻查询4
(一)系统概要……………………………………………...4
(二)总体设计.......................................................................6
(三)流程图...........................................................................6
(四)详细设计………………………………………………8
(五)部分程序代码…………………………………………8
四、设计体会……………………………………………………………17
《程序设计语言(VB)》课程设计
一、设计目的
1、进一步掌握程序的三大基本结构;
2、进一步掌握算法设计;
3、进一步理解程序调试;
4、综合利用上述知识,学习设计并编写简单应用程序;
二、环境配置要求
硬件配置:
586以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于64MB,硬盘自由空间不少于200MB。
推荐配置为内存128MB或256MB(或以上),硬盘自由空间500MB以上。
操作系统:
Windows2000/NT/Xp、VB集成开发环境。
三、设计题目列车时刻查询
第1章系统概要
铁路运输具有经济、安全、准时、舒适、快捷等特点,社会对于铁路运输的需求量在逐年增大。
近几年来,随着国家交通基础建设投资的加大及铁路部门市场意识的加强,铁路新修线路增加、列车提速、车次增多,导致铁路客货运输信息的相应变化。
为了加强铁路运输信息建设,以及铁路部门更好地为旅客服务,让广大旅客能够及时有效地得到客、货运输信息,开发出全国铁路列车信息综合应用系统。
本系统可提供多种查询方式以满足不同用户的需求。
基于本系统数据库的可扩充性及在线更新功能,用户还可根据实际需要增加其他数据信息,并实时更新从而为用户提供更全面的火车时刻服务。
1.1功能大概介绍
(1)启动程序,同时显示七个控件,第一个控件显示选择经停车站,第二个控件显示车次,第三个控件显示起点站,第四个控件显示终点站,第五个控件显示发车时刻,第六个控件显示到达时刻,第七个控件显示经停站及时刻。
(2)控件一选择经停车站然后在控件二显示经过这个车站的车次,再控件二选择车次就会在控件三四五六分别显示起点站,终点站,发车时刻,到达时刻和经停站的地点和相应的时刻。
(3)本题目提供了两个数据文件:
content.txt和detail.txt,程序中用到的车次信息均来自于这两个文件。
如果本程序启动时在可执行文件所在的文件夹下未找到其中任何一个文件,则显示出错信息并自动关闭程序。
要求编程时不能改变这两个文件的存储格式。
第2章总体设计
2.1设计思路
通过控制窗口一和二来查询列车的时刻,整体流程图如图
2.2属性窗口
控件
作用
功能
Form1
列车时刻查询表
Frame1
经停站及时刻
显示经停站及时刻
Frame2
车次
显示车次
Label2
经停车站
显示经停车站
Label4
起点站
显示起点站
Label5
终点站
显示终点站
Label6
发车时刻
显示发车时刻
Label7
到达时刻
显示到达时刻
Label9
站台
显示站台
Label10
到达时刻
显示到达时刻
Label11
发车时刻
显示发车时刻
Command1
全部车次
显示全部车次
第3章源程序代码
3.1Form1窗口上的代码
OptionExplicit
OptionBase1
DimstrContent()AsString'车次概况
DimstrDetail()AsString'停靠站
DimintNumberAsInteger'车次数
DimintNumDetailAsInteger'详细信息的条数
PrivateSubcboQuery_Click()
DimiAsInteger,jAsInteger
Dimstr1AsString
'查询代码'
str1=Trim(cboQuery.Text)
Lstid.Clear
txtDetail.Text=""'ExitSub
Fori=1TointNumDetail
IfstrDetail(1,i)=str1Then
Forj=1TointNumber
IfiLstid.AddItemstrContent(1,j-1)&"次"
Lstid.ItemData(Lstid.NewIndex)=j-1
ExitFor
EndIf
Next
EndIf
Next
EndSub
PrivateSubcmdShowAll_Click()'显示全部车次
DimiAsInteger,jAsInteger
Lstid.Clear'清除当前显示的车次
Fori=1TointNumber
Lstid.AddItemstrContent(1,i)&"次"'添加车次名称
Lstid.ItemData(Lstid.NewIndex)=i'记录列表框中每一项是所有车次中的第几项
Next
cboQu
PrivateSubForm_Load()
Dimstr1AsString
DimiAsInteger,jAsInteger,kAsInteger
'存入列车时刻表到数组
Dimlist
OpenApp.Path&"\content.txt"ForInputAs1
DoWhileNotEOF
(1)
intNumber=intNumber+1
LineInput#1,str1
ReDimPreservestrContent(6,intNumber)
i=InStr(str1,",")
strContent(1,intNumber)=Left(str1,i-1)
j=i
i=InStr(i+1,str1,",")
strContent(2,intNumber)=Mid(str1,j+1,i-j-1)
j=i
i=InStr(i+1,str1,",")
strContent(4,intNumber)=Mid(str1,j+1,i-j-1)
j=i
i=InStr(i+1,str1,",")
strContent(3,intNumber)=Mid(str1,j+1,i-j-1)
strContent(5,intNumber)=Right(str1,Len(str1)-i-1)
Lstid.AddItemstrContent(1,intNumber)&"次"
Lstid.ItemData(Lstid.NewIndex)=Lstid.NewIndex+1
cboQuery.AddItemstrContent(2,intNumber)
Loop
Close1
''存入经由数据到数组中'
OpenApp.Path&"\detail.txt"ForInputAs1
DoWhileNotEOF
(1)
LineInput#1,str1
Ifstr1="*"Then
LineInput#1,str1
k=k+1
strContent(6,k)=intNumDetail+1
Else
intNumDetail=intNumDetail+1
ReDimPreservestrDetail(3,intNumDetail)
i=InStr(str1,",")
strDetail(1,intNumDetail)=Left(str1,i-1)
j=i
i=InStr(i+1,str1,",")
strDetail(2,intNumDetail)=Mid(str1,j+1,i-j-1)
strDetail(3,intNumDetail)=Right(str1,Len(str1)-i-1)
EndIf
Loop
Close1
EndSub
PrivateSublstID_Click()
DimiAsInteger,jAsInteger
Dimstr1AsString
txtStart3=Trim(strContent(2,Lstid.ItemData(Lstid.ListIndex)))
txtEnd1=Trim(strContent(4,Lstid.ItemData(Lstid.ListIndex)))
txtStart2=Trim(strContent(3,Lstid.ItemData(Lstid.ListIndex)))
txtEnd2=Trim(strContent(5,Lstid.ItemData(Lstid.ListIndex)))
'把具体经由列出代码'
txtDetail=""
IfLstid.ItemData(Lstid.ListIndex)=intNumberThen
Fori=strContent(6,Lstid.ItemData(Lstid.ListIndex))TointNumDetail
txtDetail=txtDetail&strDetail(1,i)&Space(2*(8-Len(strDetail(1,i)))+4-Len(strDetail(2,i)))&strDetail(2,i)&Space(18-Len(strDetail(3,i)))&strDetail(3,i)&Chr(13)&Chr(10)
Next
Else
Fori=strContent(6,Lstid.ItemData(Lstid.ListIndex))TostrContent(6,Lstid.ItemData(Lstid.ListIndex)+1)-1
txtDetail=txtDetail&strDetail(1,i)&Space(2*(8-Len(strDetail(1,i)))+4-Len(strDetail(2,i)))&strDetail(2,i)&Space(18-Len(strDetail(3,i)))&strDetail(3,i)&Chr(13)&Chr(10)
Next
EndIf
EndSub
PrivateSubList1_Click()
EndSub
PrivateSubText6_Change()
EndSub
第4章运行结果及分析
4.1
1运行程序,点击显示全部车次,如图运行结果
2.选中某一车次,出现该车次的始发站、始发时间、终点站、到站时间及经停站和时刻,如图
3.如需查询经过某一车站的车次,点击经停战中的下拉菜单,出现如图
4.选中需查询的车站,如图
第5章心得体会
在课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
更重要的是,在课设上,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
之所以做这个课设不仅是考试要求也是锻炼自己的VB语言编程能力,养成良好的VB语言编程风格。
不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。
完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。
很少有人会一步登天吧。
永不言弃才是最重要的。
而且,这对于我们的将来也有很大的帮助。
以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。
就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。
与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。
而团队合作也是当今社会最提倡的。
致谢语:
我要感谢老师在我学习上的指导、关心和帮助,使我能够顺利地、优质地完成我的课程设计,使我可以获得更多的知识,得到更多的经验。
参考文献
(1)Visualbasic程序设计实验教程【M】吴昊杜玲玲(人民邮电出版社。
2011.3)
(2)Visualbasic程序设计【M】熊李艳周美玲(人民邮电出版社。
2011.3