列车时刻查询系统.doc_第1页
列车时刻查询系统.doc_第2页
列车时刻查询系统.doc_第3页
列车时刻查询系统.doc_第4页
列车时刻查询系统.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

课程名:软件工程课题名:列车时刻查询系统姓名: 学号: 指导老师: 目录1. 需求分析1) 引言2) 功能描述3) 可行性分析4) 问题定义和描述5) 系统功能运行图2.设计分析1) 模块说明2) 功能函数3) 系统流程图4) 界面演示3.程序1) 主要程序2) 需要改进的问题及自我反省 3) 主要参考文献 一 需求分析1) 引言 列车时刻查询和决策工作是一项琐碎、繁杂的工作,由于列车时刻在各种节日休假时期经常性的调整,导致列车时刻表必须经常修改,以确保准确无误的向用户及时的提供列车时刻信息。几十年前的那种传统的方式存在着许多缺点,如:效率低、时间长、繁琐,给用户带来了诸多不便。在计算机普及的信息时代,使用电脑软件进行查询,使查询更加迅速、方便、清晰。此列车时刻查询决策系统软件,能帮助人们利用计算机快速方便的查询列车时刻。本软件集列车基本数据、车次管理、列车查询于一身,目的在于能够使管理人员更加方便快捷的对列车时刻进行更新和管理。同时使用户更加方便快速的查询列车时刻信息。此列车时刻查询决策系统使列车时刻信息的查询工作更系统化、规范化、自动化。从而在一方面提高了管理人员的工作效率,减少了传统人工管理方式所带来的人力,物力的浪费,另一方面由于本软件具有查找方便、可靠性高、存储量大等优点,所以实现了列车时刻信息查询及管理的自动化。2) 功能需求 主要功能包括:录入列车信息:该部分功能主要是用于系统管理员输入列车的各种信息,加强系统的可扩展性和延续性,使系统信息保持更新。浏览列车信息:浏览全部的列车信息,将所有的列车时刻信息都展示出来方便用户调用,此功能管理员和游客皆可调用。查询列车信息:查询列车时刻信息,以及相关资料,查询分两种方式,一种是按列车号查询,另一种是按终点站查询。两种查询想辅助。使用户更快捷的查询到有关信息。删除列车信息:删除列车时刻信息功能主要用于更新列车信息数据,对于不必要的信息和错误的过时的信息进行相关处理,有利于简化系统,对于系统的运行速度的提升有着良好的加速效果。此功能是管理员专用功能,游客用户无权调用。修改列车信息:此功能用于修改列车信息,使用权限仅限于管理员。进行列车信息的相关修改对于系统的正常运行有着显著的作用。保存列车信息:保存功能通过输入输出流来实现,将列车信息保存在目录下,使用文本文档的形式保存相关信息。关于列车时刻查询系统:列车时刻查询系统的相关说明,以及使用规则及注意事项。退出系统:退出键,退出功能。3)可行性分析3.1.分析概述列车时刻查询系统是便民类的系统。该系统能够为用户提供有关列车时刻充足的信息和快捷的查询手段。在计算机普及的信息时代,用电脑软件来查询列车时刻已 经替代了一直以来人们使用传统的方式查询列车时刻,用传统的方式存在着许多缺点。使用电脑软件进行查询,方便快捷。因此有利于人们快速、方便的查找到所需的相关列车时刻信息。列车信息量的不断增大,使得列车信息管理人员的工作变得越来越复杂且容易出错,急需更好的方式管理列车信息,计算机技术不断发展,使得利用计算机软件管理列车信息变成可能,而且会节省人力物力,带来更好的经济效益,给人们提供方便。3.2.数据流分析管理人员1.1接收录入信息1.2更新车次清单系统处理查询请求用户D1车次信息车次信息车次 信 息车次信息车次信息查询请求信息输出车次信息4)问题定义和描述 设计一个登录页面,普通用户以游客身份登录,能够对车次进行普通的查询功能。车站管理员以管理员身份登录,能够对列车时刻信息进行查询和更新操作。 设计一个数据库用来保存列车车次和时刻信息。设计一个列车时刻查询系统,能实现当用户输入起始站和终点站时,能列出中间的各个车次和时刻,也能根据用户输入车次查询该车次经过的所有车站和经过车站的时刻。还能根据用户输入的车站来查询经过此车站的列车车次和时刻,而且判断是否是终点车。5)系统功能运行图列车时刻查询系统用户列车信息列车查询车次管理站站查询车次查询车站查询增加车次路线更新删除车次游客管理员列车车号起止时刻行驶时间二 需求分析1)模块说明列车时刻查询系统是一种复杂的对象,无法用简单数据类型来描述,显然要定义不同的类和结构体。下面为定义的模块及其实现。程序运行的时候用菜单选择功能,1、类:将列车信息定义为一个类train_infor并且将相关的函数进行定义,在类的定义中还要申明好几种数据的类型,局部变量和全局变量。2、结构体模块:定义链表的关键在于为列车时刻信息定义结构体类型时应该定义一个next成员,该成员可以把列车时刻信息结点进行链接。3、主模块:结构体程序设计的基本思想是:自顶向下,逐步细化,把功能进行分解,最终分解为一些较易实现的小模块。4、初始化模块:该模块负责在用户进入系统时,调用保存在磁盘文件中的列车时刻信息。5、菜单模块:系统与用户交互的界面是通过菜单实现的,用户根据菜单的提示输入命令,然后主模块调用相应的功能模块,实现用户所要求的操作。6、添加模块:列车时刻查询系统的添加的添加功能是由train_link:input()函数来实现的。7、删除模块:列车时刻信息删除功能是通过train_link:del()函数实现的,用户输入序号之后,删除相关列车信息。8、查询模块:查询模块的功能是由train_link:found()函数来实现的。根据输入的数字进行调用函数,按1是按列车序号在链表中进行查找工作。9、显示模块:显示模块的功能是由train_link:show() 函数实现的。train_link:show() 函数从链表的第一个结点开始,将所有的列车时刻信息显示在屏幕上。10、列车信息修改:train_link:mend()函数来实现修改功能,在修改中按提示输入相关操作按键进行修改。11、存盘模块:使用train_link:save()函数来保存列车时刻信息存盘模块的功能是通过ofstream来实现的。12、退出模块:退出模块它的功能是结束并且退出系统。2)功能函数按照概要设计列出的功能模块,设计出与这些模块一一对应的功能函数,以供主函数使用。(1) 类:class train_infor功能函数:train_infor();train_infor *next;input();录入函数input(ifstream & is);读取函数output();输出函数output(ofstream & os); 写入函数GetTime_start();获取发车时间函数bool GetTime(); 判断当前班次状况函数Get_train_order() return train_order; 返回班次号Get_end()const; 返回终点站的字符串input(); 录入列车信息函数mend(); 修改列车信息函数del(); 删除列车信息函数int find(train_infor *p,int num,char *pn);查找函数found(); 查询列车信息函数show(); 显示列车信息函数save(); 保存列车信息函数begin(); 初始化列车信息函数clear(); 清除函数函数about(); 关于列车信息函数mainmenu(); 主菜单函数void setkey(int k) key=k; 设置系统修改标志int getkey() return key; 返回系统修改标志()函数原型:mainmenu()函数功能:主菜单。用户通过菜单进行选择。调用各功能函数()函数原型:input()函数功能:该函数是用来添加列车时刻信息。当在主函数中输入1时,即进入添加列车时刻信息模块,即开始输入列车时刻信息,按照提示信息输入,每输入完一个数就按一下回车键,当输入最后一个数据时结束程序,然后选择继续还是返回主函数,按1继续添加,按0显示主菜单界面继续选择。()函数原型: del()函数功能:该函数的作用是删除指定列车时刻财信息。首先根据提示信息输入要删除结点的列车号,输入后根据列车号顺序查找结点,如果没有找到,则输出没有找到的信息;否则,显示找到的信息,然后删除。调用结束返回主函数,显示主菜单。()函数原型:found()函数功能:该函数的作用是查找指定的列车时刻记录。两种查询方式,一种是按列车号查询,另一种是按终点站查询根据提示信息输入要查找的结点,输入后根据条件查找,如果没有找到,则输出没有找到的信息;否则,显示找到的信息。调用结束返回主函数,显示主菜单。()函数原型:show()函数功能: 该函数的作用是将列车时刻信息记录全部显示在屏幕中。()函数原型:save()函数功能:该函数的作用是将个人理财记录保存到指定文件中。在访问链表的过程中将记录写入文件。开始 3)系统流程图 2 游客管理员选择功能 1功能选择 关于系统退出查询浏览TF密码判断结束关于系统 查询 删除修改 退出 保存浏览录入退出功能选择 4)界面演示 三 程序1) 主要程序 void train_link:show() /浏览列车信息 cout列车基本信息如下:endl |班次 发车时间起点站终点站行车时间 当前状况 |next) (p-next)-output(); p=p-next; void train_link:found() /列车信息查询train_infor *p;int num,n;char name20;do coutn;if(!cin)throw string(数据输入错误);while(n2);if(n=1) coutnum;if(!cin)throw string(数据输入错误);if(n=2)coutname;if(!find(&p,num,name)couttt找不到你要查找的车次,请确定输入信息是否正确!next)(*p1)=p;if( (p-next)-Get_train_order()=num| (p-next)-Get_end()=pn )cout列车基本信息如下:endl |班次 发车时间起点站终点站 行车时间 当前状况|next)-output(); t=1;p=p-next;return t;void train_link:del() /列车信息删除 if(password=1) train_infor *p,*p2;int num;char name20;coutnum;if(!cin)throw string(数据输入错误);if( !find(&p,num,name) ) couttt对不起!找不到你要删除的内容,请确定输入信息是否正确!endl;return;couta;if(a=y|a=Y) p2=p-next;p-next=p2-next;delete p2;train_link:setkey(1);coutnttt信息已删除!; else coutnttt取消删除!; elsecoutntt对不起,游客不能删除车票信息endl;void train_link:mend() /列车信息修改 if(password=1) train_infor *p;int num;char name20;coutnum;if(!cin)throw string(数据输入错误);if( !find(&p,num,name) ) couttt对不起!找不到你要修改的内容,请确认输入信息是否正确!next)-input();train_link:setkey(1);elsecoutntt对不起,游客不能修改车票信息next) (p-next)-output(os)

温馨提示

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

评论

0/150

提交评论