车票管理系统
车票管理系统程序设计报告

车票管理系统程序设计报告一、引言车票管理系统是一个用于管理车票信息的软件系统。
该系统旨在提供方便快捷的购票、查询、退票等功能,以满足用户的出行需求。
本报告将详细介绍车票管理系统的设计思路、功能模块、数据结构以及程序实现等内容。
二、需求分析1. 功能需求车票管理系统需要具备以下功能:- 用户注册与登录:用户可以通过注册账号并登录系统,以便进行购票、查询等操作。
- 车票购买:用户可以根据出发地、目的地、日期等条件查询车票,并进行购买。
- 车票查询:用户可以根据出发地、目的地、日期等条件查询车票的余票情况。
- 车票退票:用户可以在购票后一定时间内申请退票,并进行退款。
- 车票管理:管理员可以对车票信息进行管理,包括添加、修改、删除等操作。
2. 性能需求车票管理系统需要满足以下性能需求:- 响应速度:系统应能够在用户购票、查询等操作时快速响应,提供流畅的用户体验。
- 安全性:系统应具备一定的安全机制,保护用户的个人信息和交易数据不被泄露或篡改。
- 扩展性:系统应具备一定的扩展性,方便后续对功能进行升级和扩展。
三、系统设计1. 架构设计车票管理系统采用三层架构设计,包括表示层、业务逻辑层和数据访问层。
表示层负责与用户进行交互,接收用户的请求并展示相应的界面;业务逻辑层负责处理用户的请求,进行业务逻辑的处理;数据访问层负责与数据库进行交互,进行数据的读取和写入操作。
2. 功能模块设计车票管理系统包括以下功能模块:- 用户模块:负责用户的注册、登录、个人信息管理等操作。
- 车票模块:负责车票的购买、查询、退票等操作。
- 管理员模块:负责管理员对车票信息的管理操作。
3. 数据结构设计车票管理系统的数据结构包括以下表:- 用户表:保存用户的基本信息,包括用户名、密码、手机号等。
- 车票表:保存车票的详细信息,包括车次、出发地、目的地、日期、余票数量等。
- 订单表:保存用户购票的订单信息,包括用户ID、车票ID、购票时间等。
车票管理系统实习报告

一、实习背景随着社会经济的快速发展,人们的出行需求日益增加,车票管理系统作为现代化交通工具的重要组成部分,其重要性不言而喻。
为了提高车票管理效率,减少人工操作带来的不便,我国各大交通部门纷纷研发和实施车票管理系统。
本人在实习期间,有幸参与了某汽车站车票管理系统的设计与开发,以下为实习报告。
二、实习目的1. 熟悉车票管理系统的基本概念、设计原则和开发流程。
2. 掌握C语言编程技术,提高编程能力。
3. 了解数据库技术,提高数据库应用能力。
4. 培养团队协作和沟通能力。
三、实习内容1. 系统需求分析在实习初期,我首先对车票管理系统进行了需求分析。
通过对汽车站售票业务的了解,我发现车票管理系统应具备以下功能:(1)车次信息管理:录入、修改、删除车次信息,包括车次号、发车时间、起点站、终点站、行车时间、额定载客量等。
(2)票务信息管理:录入、修改、删除票务信息,包括车票号、票价、座位号、乘客姓名、联系方式等。
(3)售票查询:根据车次、时间、站点等信息查询车票信息。
(4)售票操作:进行售票、退票、改签等操作。
(5)统计报表:生成售票统计报表,包括车次售票情况、票价统计、售票员业绩等。
2. 系统设计在需求分析的基础上,我进行了系统设计。
系统采用模块化设计,主要包括以下模块:(1)数据模块:负责数据的存储、检索和更新。
(2)功能模块:实现售票、查询、统计等功能。
(3)界面模块:提供用户界面,方便用户进行操作。
3. 系统实现在系统实现阶段,我主要使用C语言进行编程,并结合数据库技术实现系统功能。
具体如下:(1)数据模块:采用关系型数据库MySQL存储数据,设计数据库表结构,实现数据的增删改查。
(2)功能模块:编写售票、查询、统计等功能模块的代码,实现系统功能。
(3)界面模块:使用C语言中的图形界面库,如GTK+等,设计用户界面。
4. 系统测试与优化在系统开发完成后,我对系统进行了测试和优化。
主要测试内容包括:(1)功能测试:验证系统功能是否满足需求。
车票管理系统

车票管理系统⒈引言⑴目的本文档旨在介绍车票管理系统的设计和功能,包括系统的概述、功能需求、非功能需求、系统架构、用户界面设计、数据模型等。
⑵范围车票管理系统是一个用于管理车票销售、查询、退票的软件系统。
该系统可以提供便捷的购票、查询和退票功能,方便用户使用。
⒉概述⑴系统背景随着交通网络的发展,车票的销售量也逐渐增加。
为了满足用户对购票、查询和退票的需求,开发一个功能完善、易于使用的车票管理系统势在必行。
⑵功能车票管理系统将包括以下主要功能:●用户注册与登录●车票购买●车票查询●车票退票●管理员功能:车次管理、用户管理、车站管理等⒊功能需求⑴用户注册与登录用户可以通过注册账号并登录系统,以便进行车票购买、查询和退票等操作。
⑵车票购买用户可以选择车次、座位类型、乘车日期和出发站点来购买车票。
购买成功后,系统将有效的车票。
⑶车票查询用户可以根据出发站点、目的站点和乘车日期等条件来查询车票信息,包括车票余量、票价等。
⑷车票退票用户可以在规定的时间范围内申请退票,并按照规定的退票规则进行操作。
⑸管理员功能管理员可以管理车次信息,包括添加、编辑、删除车次。
管理用户信息,包括查看用户购票记录。
管理车站信息,包括添加、编辑、删除车站。
⒋非功能需求⑴性能系统应具备高并发处理能力,可以同时处理大量用户的购票、查询和退票请求。
⑵可靠性系统应具备高可靠性,能够保证购票、查询和退票等功能的正常运行,避免数据丢失或出错。
⑶安全性系统应具备良好的安全性,保护用户的个人信息和支付信息不被泄露。
⒌系统架构车票管理系统将使用客户端-服务器架构,其中客户端通过网页浏览器访问服务器端提供的服务。
⒍用户界面设计车票管理系统的用户界面应简洁、直观,方便用户进行操作。
设计应符合通用的界面规范,保持一致性和易用性。
⒎数据模型车票管理系统的数据模型将包括以下实体:●用户:保存用户信息,包括用户名、密码、姓名、方式号等。
●车次:保存车次信息,包括车次编号、出发站点、目的站点、出发时间、到达时间等。
火车票管理系统

火车票管理系统火车票管理系统文档⒈引言本文档旨在介绍火车票管理系统的功能、设计和使用方法。
该系统是为了方便用户购买、查询和管理火车票而开发的,使用户能够更加便捷地进行出行安排。
⒉系统概述⑴系统功能火车票管理系统提供以下主要功能:- 用户注册与登录:用户可以注册新账号,并使用注册信息登录系统。
- 车次查询与预订:用户可以根据出发地、目的地和出发日期等条件查询火车车次,并进行车票预订。
- 车票购买与支付:用户可以选择预订的车票进行购买,并使用合适的支付方式完成支付。
- 车票退订与退款:用户在一定时间范围内可以取消已购的车票,并申请退款。
- 车票改签:用户在一定时间范围内可以申请对已购车票的改签。
- 个人信息管理:用户可以查看、修改个人信息,并查看自己的购票记录。
- 管理员功能:管理员可以管理系统的用户信息、车次信息和订单信息。
⑵用户角色本系统包含以下几种用户角色:- 普通用户:可以进行车次查询、预订和购票等操作。
- 管理员:可以管理系统的用户信息、车次信息和订单信息。
⒊系统设计⑴系统架构火车票管理系统的架构如下图所示:(插入系统架构图)⑵数据库设计系统的核心数据结构包括以下表:- 用户表:保存用户的注册信息和个人信息。
- 车次表:保存火车车次的相关信息,如车次号、起始站、终点站、票价等。
- 订单表:保存用户购买和预订的车票订单信息。
⑶页面设计系统的主要页面包括以下几个:- 登录页:用户输入账号和密码进行登录。
- 注册页:用户填写注册信息进行账号注册。
- 车次查询页:用户输入查询条件进行车次查询。
- 车次详情页:展示选择的车次的具体信息和预订功能。
- 购票页:用户选择座位类型和支付方式进行购票。
- 个人中心页:用户查看个人信息和购票记录,进行车票退订和改签等操作。
- 管理员页面:管理员管理用户信息、车次信息和订单信息。
⒋使用方法⑴用户注册与登录用户可以通过注册页进行账号注册,填写必要的信息后提交注册申请。
车票管理系统uml课程设计

车票管理系统 uml课程设计一、课程目标知识目标:1. 让学生理解UML的基本概念,掌握UML图的绘制方法。
2. 使学生掌握车票管理系统的需求分析、系统设计及系统实现的基本步骤。
3. 帮助学生了解数据库设计原则,并能运用UML图对车票管理系统进行数据库设计。
技能目标:1. 培养学生运用UML图进行系统分析和设计的能力。
2. 提高学生解决实际问题的能力,能将UML理论知识运用到车票管理系统课程设计中。
3. 培养学生团队协作、沟通表达的能力,能在小组合作中发挥各自优势,共同完成课程设计。
情感态度价值观目标:1. 培养学生对软件工程及UML建模的兴趣,激发学生主动学习的热情。
2. 培养学生严谨、认真的工作态度,养成良好的编程习惯。
3. 增强学生的自信心和责任感,使其在面对复杂问题时,能够积极寻求解决方案,勇于克服困难。
课程性质:本课程设计旨在让学生结合已学的UML知识,设计并实现一个实际的车票管理系统,提高学生的实际操作能力和解决问题的能力。
学生特点:学生具备一定的UML基础,具备基本的编程能力和数据库知识,但可能缺乏将理论知识运用到实际项目中的经验。
教学要求:教师应注重引导学生独立思考,培养学生的动手实践能力,以项目为导向,让学生在完成课程设计的过程中,掌握UML相关知识,提高解决实际问题的能力。
通过小组合作,培养学生的团队协作和沟通能力。
同时,注重对学生的激励和鼓励,使其在课程设计中不断成长和进步。
二、教学内容1. UML基础知识回顾:类图、用例图、顺序图、活动图等基本概念和绘制方法。
2. 车票管理系统需求分析:介绍需求分析的重要性,讲解如何从用户角度进行需求收集,并以车票管理系统为例,分析系统功能需求。
3. 系统设计:基于UML类图、用例图进行系统设计,包括模块划分、类的设计、接口的设计等。
4. 数据库设计:运用UML图进行数据库ER图的绘制,介绍数据库设计原则,指导学生完成车票管理系统的数据库设计。
火车票售票管理系统 (3)

火车票售票管理系统介绍火车票售票管理系统是一个用于管理火车票售票、订单管理和客户信息的软件系统。
该系统提供了一个方便快捷的平台,使用户能够在线浏览、预订和购买火车票,并对订单进行管理和查询。
功能1. 火车票查询用户可以通过系统提供的火车票查询功能查找目标日期和路线的火车票。
用户可以输入出发地、目的地和日期等信息来查找合适的火车票。
查询结果包括列车的发车时间、到达时间、车次、票价和余票数量等。
2. 火车票预订用户可以查看到的火车票信息后进行预订。
用户需要输入乘车人的信息,并选择座位类型和票数进行预订。
系统会根据用户的选择自动生成订单号,并提供支付链接进行付款。
3. 订单管理用户可以在系统中管理自己的订单。
用户可以查看订单详情,包括订单号、乘车人信息、座位类型、票价和支付状态等。
用户还可以取消未支付的订单,并根据需要重新预订。
4. 客户信息管理系统提供了客户信息管理功能,用户可以在系统中维护个人信息。
用户可以修改个人信息,包括姓名、性别、手机号码和电子邮箱等。
用户也可以查看自己的历史订单和购票记录。
5. 系统管理系统管理员可以对火车票售票管理系统进行管理。
管理员可以管理火车票信息,包括添加新的火车车次、修改票价和调整余票数量等。
管理员还可以管理用户信息,包括添加新用户、修改用户信息和删除用户等。
架构火车票售票管理系统的架构包括前端和后端两部分。
前端前端使用HTML、CSS和JavaScript编写,采用响应式设计,能够在不同终端设备上良好地展示。
前端实现了用户界面和交互逻辑,包括火车票查询、预订、订单管理和客户信息管理等功能。
后端后端使用Java编程语言开发,采用Spring框架和Spring Boot技术,实现了业务逻辑和数据交互。
后端处理用户请求,调用相应的服务进行数据处理和查询,并将结果返回给前端。
数据库设计火车票售票管理系统使用关系型数据库存储数据。
数据库中包括以下主要表:用户表存储用户的个人信息,包括用户ID、姓名、性别、手机号码和电子邮箱等。
火车票售票管理系统

电子商务分析与设计设计题目火车站售票管理系统组长成员成员目录一、需求分析 (1)1.1功能需求 (1)1.2系统用例分析 (1)1.2.1.火车站售票管理系统的参与者 (1)1.2.2.管理员用例图 (2)1.2.3.系统管理员用例图 (3)1.2.4.票务管理员用例图 (4)1.2.5.乘客用例图 (5)二、静态模型设计 (6)2.1类图 (6)2.2数据库字段 (7)三、动态模型设计 (9)3.1时序图 (9)3.1.1“系统管理员时序图 (9)3.1.2顾客时序图 (10)3.1.3.票务管理员时序图 (12)3.1.4.售票员时序图 (13)3.2 状态图 (15)3.3协作图 (16)3.4活动图 (17)3.4.1.“乘客查询”活动图 (17)3.5系统部署图 (19)四、小组成员分工说明 (20)五、课程设计的收获和总结 (21)参考资料 (22)一、需求分析1.1功能需求线上预订火车票系统是一款功能强大、操作简便、易维护的、具有良好人机交互界面的线上订票系统,它包括用户管理模块、系统参数设置模块、票务信息模块提供票价、列车的实时信息、订票管理模块提供订票和退订功能、实时信息提示模块提供车况、路况、列车晚点等实时信息、数据管理模块提供数据备份、数据操作功能;实现火车票线上预定的自动化的计算机系统,为旅客提供准确、精细、迅速的火车票销售信息和方便、简单的订票功能;线上预订火车票系统主要是对于订票信息的统一管理,满足了中小型线上订票网站对于用户的管理,订票信息的收集和处理方面的要求;用现代化的方式取代以前的传统模式,更有利于信息的流通,资源的宏观管理;具有体积小,代码简洁,易维护、易修改的优点;1.2系统用例分析1.2.1.火车站售票管理系统的参与者乘客:查询、预订车票的人员;售票员:具体负责乘客的车票订单;票务管理员:负责更新车票信息;系统管理员:系统管理员负责系统的员工信息管理,会员信息管理以及系统的维护等;根据以上分析,创建系统参与者,如图所示:管理员系统管理员票务管理员售票员乘客图1-1系统参与者1.2.2.管理员用例图火车站系统中的所有人都是管理员,管理员是一个抽象的概念,他包含的行为是所有管理员的共同行为;管理员在本系统中通过合法的身份验证能够修改自身的信息和密码;根据以上分析,建立用例图如下所示:查询信息图1-2系统管理员用例图1.2.3.系统管理员用例图系统管理员能够通过本系统进行如下活动;管理会员信息:系统管理员能够对当前注册到本系统的客户进行整理;管理售票员信息:系统管理员能够管理当前系统中的售票员信息,如添加、删除和修改售票员信息等;系统设置:系统管理员可以对系统进行必要的设置和维护,如升级等; 管理乘客信息系统管理管理售票员信息系统管理员系统设置系统维护<<include>><<include>>图1-3系统管理员用图1.2.4.票务管理员用例图票务管理员能够通过本系统进行如下活动:添加车票信息、删除车票信息、修改车票信息等;修改车票信息图1-4票务管理员用例图1.2.5.乘客用例图对于火车票售票系统,乘客可以登录和查询;其下为乘客的用例图,即乘客可以进行的活动;图1-5乘客用例图二、静态模型设计2.1类图2-1系统类图2.2数据库字段乘客姓名、性别、联系电话、有效证件列车班次发车时间、起点、终点、乘坐人数、价格火车站名称、所在地、车站经过车次订票票号、列车班次号、乘客号、票价、车票类型管理员密码、姓名付款方式付款序号、付款名字乘客表列车班次表订购车票表管理员表火车站表三、动态模型设计3.1时序图3.1.1“系统管理员时序图1)系统管理员进入登录界面2)系统管理员输入登录信息3)后台数据库检验信息是否合法4)若合法,则显示登录成功,否则转85)系统管理员进入火车站管售票理系统6)系统管理员修改系统信息7)后台数据库更新8)登录信息不合法;9)系统弹出“重新登录”对话框10)若选择“是”返回到第2步图3-1系统管理员时序图3.1.2顾客时序图1)进入登录界面2)验证用户的登录信息是否正确3)若正确,显示登录成功否则转第十一步4)用户进入管理系统查询界面,输入查询信息5)返回查询信息6)用户进入预定界面7)用户进行预订8)数据库更新9)返回预订票信息10)显示预订成功11)登录信息不正确12)系统显示错误原因,并提示是否重新登录13)若选择“是”,则返回到第2步;图3-2顾客时序图3.1.3.票务管理员时序图1)选择车票添加操作进入相关页面2)系统列出表单要求填写3)填写添加车票的信息4)提供更新信息给数据库5)用户表明填写完成6)系统显示表单请求确认7)确认表单完成操作8)数据库更新、保存9)用户要求修改信息;10)返回到第2步;图3-3票务管理员时序图3.1.4.售票员时序图1)售票员要求查看相关的车票信息2)后台系统整理3)后台数据库传递相应订票信息4)系统显示出有效的订票信息5)售票员从中选择订票选项6)更新订票信息7)售票员表明订票完成8)系统显示所订车票的信息9)系统请求确认信息10)售票员确认订票信息,完成订票11)数据库保存图3-4售票员时序图3.2 状态图1)进入数据库系统界面2)进入预订车票界面3)预订成功后推出4)进入退订车票界面5)退订成功后退出6)预订退订车票失败则退出图3-5 系统状态作图3.3协作图1客户首先要连接上网络的电脑2客户进行网站搜索,检索有关的票务信息3电脑将显示的票务信息给予客户4客户再通过查看信息后选择买票5客户输入自己的账号6验证帐户并提交扣钱7电脑将票的代码显示给客户,凭证取票图3-6 系统协作图3.4活动图3.4.1.“乘客查询”活动图查询系统方便人们的生活,人们不用注册即可按照一定的要求进行查询;如,按“始发站——-终点站”进行查询;系统接收查询信息后,进行相应的整理,其过程如下:图3-7“乘客查询”活动图3.4.2.“乘客登录”活动图乘客分老客户和新客户,新客户为没有注册过的客户,那么,其首先要注册;老用户是已经注册过的用户,其直接输入用户名登录即可;其活动图如下:图3-8“乘客登录”活动图3.5系统部署图在火车站售票管理系统中,系统包括五格节点,分别是系统管理员管理系统、票务管理员管理系统、售票员管理系统、客户管理系统和售票管理系统;票务管理员管理系统负责进系统车票信息更新,系统管理员管理系统负责进行系统维护,售票管理系统负责客户预订退订票管理,客户管理系统负责对客户信息的管理,售票员管理系统负责售票管理;图3-9系统部署图四、小组成员分工说明需求分析阶段是软件开发的最核心的部分,我们组成员通过上网查阅资料,去图书馆借阅有关的书籍以及根据课本上的知识,再经过我们组成员三个人之间的默契配合,共同完成了软件的核心部分-----需求分析;完成了我们所要做的项目的需求分析之后,下面的课程设计可根据需求分析来进行,我们组成进行分工合作共同完成了这次课程设计;静态模型中的类图由刘盈娣和燕京京完成;动态模型的四部分图,时序图由我们三个共同完成,状态图和协作图由陈斌完成,活动图由燕京京完成,系统部署图由刘盈娣完成;我们分工明确,互相帮助,顺利的完成了自己的任务;最后的总结由陈斌完成,再做了最后的文档的整理;五、课程设计的收获和总结经过一个星期的实践学习,使我们对UML有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我们也发现我们的好多不足之处,最主要是自己在UML图形正确使用上不够熟悉,通过实践,使我们在这个方面的认识有所提高;其次,经过查找资料,调查研究,获取需求以及在这些基础上做出的系统分析;总的来说,这个系统的设计考虑了大部分要考虑的因素,一些影响不大的因素就没有考虑在内,系统的需求分析中占相当一部分比例的用例规格说明采用表格的方式,直观,便于理解,不过需求分析在整体的格式多样性上有所欠缺,这在以后的设计中要吸取教训;通过这次的课程设计,我们不但学到了很多东西,也把原来学的东西理解的更透彻了,特别是把原来学的不同科目的东西结合起来了,收获很大;通过实践的学习,我们认到学好计算机要重视实践操作,不仅仅是学习UML 语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我们会更加注视实践操作,使自己更好地学好计算机;没有实践,学习就是无源之水,无本之木;以上就是我们在进行课程设计实训的心得和感受;参考资料1 李大友,陈明等实用软件工程基础清华大学出版社2吴建,汪杰等 UML基础与Rose建模案例人民邮电出版社3 Soren Lauesen 著软件需求电子工业出版社4 uml 和rational rose 2002 从入门到精通电子工业出版社。
火车票管理系统

火车票管理系统火车票管理系统是一款基于网络技术和信息管理技术的管理系统,它可以对火车票的销售和管理进行全面的控制和监督。
目前,火车票管理系统已经被广泛地应用于火车票售卖、系统自动调度、车站售票、售票员管理、旅客管理等方面。
1. 系统概述火车票管理系统是一种基于现代网络技术和信息管理技术的高效、灵活、安全、完整的软件系统,它由火车票售卖、系统调度、售票员管理、旅客管理等模块组成。
该系统能够提供安全、准确、高效的售票服务,保证了火车票售卖的正常运作。
2. 功能介绍2.1 火车票售卖管理火车票售卖管理是该系统的核心模块。
在这个模块中,用户可以进行火车票查询、购票、退票、改签等功能。
用户可以输入出发地、目的地和乘车日期等信息查询车票。
如果有余票,乘客可以通过本系统在线购票。
如果乘客需要退票或更改,也可以在线操作,在规定的时间内取消或改签订单。
2.2 系统自动调度模块系统自动调度模块利用网络技术和信息管理技术自动安排日程安排和行程规划。
通过该模块,系统可以将不同地域、不同出发时间、不同的乘客等信息进行分析和计算,自动调度出合适的车次和座位,避免了人工计算所带来的时间和人为成本。
2.3 车站售票管理车站售票管理是该系统的重要组成部分。
在该模块中,车站售票员可以对售票、退票、改签、延误等问题进行处理,保证了每个乘客的行程顺利进行。
2.4 售票员管理售票员管理是该系统的另一个重要组成部分。
在该模块中,可以对售票员的信息进行管理,包括姓名、工号、部门、权限等。
通过该模块可以保证系统的稳定性、安全性、高效性等方面的优良表现。
2.5 旅客管理旅客管理是一个基于用户信息的管理模块。
用户通过本系统时必须进行身份认证,通过系统为其建立个人档案,包括姓名、身份证号码、联系方式等信息。
在旅行过程中,系统会根据乘客的行程记录其乘车信息、购票人数等信息,以便于车站售票员进行快捷查找,将其与票据信息进行核对,确保车站和车上护照的总透明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计的内容车票管理系统一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。
如班次发车时间起点站终点站行车时间额定载量已定票人数1 8:00 郫县广汉2 45 302 6:30 郫县成都40 403 7:00 郫县成都40 204 10:00 郫县成都40 2…(一)功能要求:用c/c++设计一系统,能提供下列服务:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线:可按班次号查询 ,可按终点站查询(4)售票和退票功能A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数二、课程设计的要求与数据1、进一步掌握和利用C语言进行程设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程序设计开发文档的能力。
三、课程设计应完成的工作1、编写完成相应题目的程序;2、编写课程设计报告,课程设计报告的内容应包括以下6个部分:1) 需求分析:包括设计题目、设计要求以及系统功能需求分析;2) 总体设计:包括系统总体设计框架和系统功能模块图;3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图);5) 总结:课程设计完成了哪些功能,有没有什么扩展功能还有哪些地方需要改进课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容;6) 附录:主要源程序代码,含必要的注释。
3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解决问题、运行程序和回答教师提出的问题。
目录第一章目的与要求....................... 错误!未定义书签。
第二章总体设计......................... 错误!未定义书签。
第三章详细设计......................... 错误!未定义书签。
功能模块设计......................... 错误!未定义书签。
数据结构设计......................... 错误!未定义书签。
第四章调试分析......................... 错误!未定义书签。
第五章总结............................ 错误!未定义书签。
第六章附录............................. 错误!未定义书签。
参考文献................................ 错误!未定义书签。
第一章目的与要求编写目的:便于车站管理部门对汽车班次信息的统计和管理,提高车站部门的工作效率,能够更好的为市民服务,同时也便于旅客了解相关的信息,方便出行。
要求:1.能够录入汽车班次信息,如班次号,发车时间,起点站,终点站,行车时间,额载量,已订票人数等。
2.能够浏览班次信息,显示信息总和(如果已发出站的要要显示“已经开出”)。
3.查询路线:可按班次号查询 ,可按终点站查询。
4.售票功能:当查询出已定票人数小于额定载量且当前系统时间小于发车时间才能售票,自动更新已售票人数。
5.退票功能:输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。
第二章总体设计1)系统总体设计框架录入班次信息2)主要功能流程图:录入班次信息功能流程图:浏览班次功能流程图:第三章详细设计功能模块设计售票函数while(选择的是“Y”){打印当前时间打印“班次发车时间起点站终点站行车时间额定载量已定票人数”for(){输出班次信息』提示输入车的班次}if(当查询出已定票人数小于额定载量且当前系统时间小于发车时间时){提示售票成功!订票人数加1;}IF(额定载量小于订票人数){提示票已售完!;}else if(输入的班次号小于零){该车不存在!}else if(当前系统时间晚于发车时间){提示车已发出!}提示继续售票按Y,按任意键返回主菜单!输入一个字符;}}退票函数while(输入的是Y的时候){提示输入要退票的车次;输入一个字符;}if(输入的班次号存在和系统时间比发车时间晚) {订票人数-1;提示退票成功!}else if(输入的班次号小于零)提示该班次不存在!;)else if(要退票的那辆车的发车时间早过现在系统时间) {提示车已发出不能退票!;提示继续退票请按(Y),返回主菜单按任意键;输入一个字符;}}菜单函数{打印“车票管理系统”;打印“系统时间”;打印“录入班次信息”;打印“查询班次信息”;打印“售票”;打印“退票”;打印“保存车次信;";打印“退出系统”;打印“请选择(0--6)”;打印“车票管理系统;得到一个字符;返回值;}数据结构设计(可选)程序中涉及的数据过多,本人决定采用两个结构体处理数据。
其中时间为一个数据结构体(即结构1),它又是汽车结构体(即结构2)的一个成员元素,这样处理数据容易些。
第四章调试分析本人在写代码的过程中觉得难控制的是那个班次数。
因为本系统提供了个录入信息功能,可以不定时的增加班次,即这个班次数是不确定的。
而这个班次数又影响到查询函数,退票函数,售票函数等,另外还影响到一些功能小函数,如比较时间函数等。
经过上网查找资料,我发现有一个巧妙的方法可以解决这个问题,即设定一个静态局部变量(即代码中的H),这样每当班次号改变之后这个H的值就和它的班次号一样大,这样就可以解决之前提到的问题了。
另外,这个系统要有一个保存文件功能,由于本人对文件保存处理不清楚,设计过程中一直搞不明白。
最后在网上查到了相关信息才可以弄出。
以下是该程序运行的部分结果:主界面:信息录入图和浏览时刻表:查询售票图:退票图:保存信息图:第五章总结经历近几天的学习和锻炼,这个车票管理系统算是做出来了(不过我承认我是参考网上代码所得,我基本能看懂)。
它基本有前面提到过的功能,即录入班次信息,浏览班次信息,售票和退票,保存文件。
有一个扩展功能,即可以退出系统(代码中的sys_exit()函数)。
不过目前我发现它一个不足之出,就是不能对输入时间的格式起限制作用。
如我可以输入26:30:00,它系统不会提示说输入错误提示再输入一个正确的时间。
还有,就是整个代码条理不够清晰,只是用到一个主函数和调用其他函数,可读性差!我认为最好是能分模块化处理,分文件处理,这样条理性强,可读性高,再者修改也容易。
不过由于本人水平有限,不能这样处理。
经历这近几天的锻炼,我也比较满意自己的表现。
在这过程中我查阅了很多书,学到了很多课堂上没有的东西。
很多知识我之前不知道的现在大部分都知道了,不过理解不够深透,,导致在这近几天里碰了不少壁!近几天我觉得编程既是一项费时费力但也是有趣的事。
说它费时费力是因为它繁琐,而有趣是因为我很享受一段段的小程序编成功之后的喜悦,苦尽干来啊。
我觉得编程是一件快乐的差事,我想我今后会加把时间学习它,把它学好。
第六章附录程序代码:#include""#include""#include""#include""#include""#include""#include""#define Max 50.");getchar();}int compare_time(struct Times t1,struct Times t2){ime,bus[j].time)){k=j;if(k!=i){b=copy(b,bus[i]);bus[i]=copy(bus[i],bus[k]);bus[k]=copy(bus[k],b);}}}}}int number_search(struct Buses bus[],int n){umber==n)return i;}return -1;}int end_search(struct Buses bus,char ends[]){umber); getchar();while(number_search(bus,bus[i].number)>=0){printf("你输入的班次已存在请重新输入!:");scanf("%d",&bus[i].number);getchar();}printf("请输入时间如:(20:30:00) :");scanf("%d:%d:%d",&bus[i].,&bus[i].,&bus[i].;getchar();printf("请输入车的起点站:");scanf("%s",bus[i].start);getchar();printf("请输入车的终点站:");scanf("%s",bus[i].end);getchar();printf("请输入行车时间:");scanf("%f",&bus[i].time_cost);getchar();printf("请输入车的额定载量:");scanf("%d",&bus[i].carry_number);getchar();bus[i].booK_number=0;H++;i++;printf("信息录入成功!\n");printf("继续录入请按(Y),返回主菜单按任意键...");flag=getchar();}}void chaxun(struct Buses bus[]){.");flag=getchar();}}void shoupiao(struct Buses bus[]){arry_number>bus[n].booK_number&&compare_systime(bus[ n],tnow)){printf("\n\t\t\t售票成功!\n");bus[n].booK_number++;printf("\t班次发车时间起点站终点站行车时间额定载量已定票人数");printf("\n\t--------------------------------------------------------------\n");print(bus[n]);printf("\n\t--------------------------------------------------------------\n");}if(bus[n].carry_number<=bus[n].booK_number)printf("\n\t\t\t该次车的票已售完!\n");else if(n<0)printf("\n\t\t\t该次车不存在!\n");else if(!compare_systime(bus[n],tnow))printf("\n\t\t\t该次已发出!\n");printf("\t\t继续售票请按(Y),返回主菜单按任意键...");flag=getchar();}}void tuipiao(struct Buses bus[]){ooK_number--;printf("\n\t\t\t退票成功!\n");}else if(i<0)printf("\n\t\t\t该车次不存在!\n");else if(!compare_systime(bus[n],tnow))printf("\n\t\t\t车已发出不能退票!\n");printf("\t继续退票请按(Y),返回主菜单按任意键...");flag=getchar();}}void load()R. Chishohm等著,张芳妮吕波译,清华大学出版社,11996年12月。