长途客运售票管理系统的课程设计说明书模板
大巴售票管理系统 数据库课程设计
大巴售票管理系统详细设计说明书一、需求分析1.1系统总功能需求首先需要对大巴售票管理系统进行详细的了解和分析,一个功能完全满足基本需要的系统需要包括以下几个模块:1.1.1员工管理功能模块在这个功能模块中,员工有两种身份,售票员和系统管理员。
系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。
1.1.2,线路信息管理功能模块这个功能模块系统管理员可以在线路信息管理模块对车站线路信息进行管理。
管理员首先建立线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就可以进行相应的操作。
管理员也可以通过本模块查询到所有需要查询的线路的详细信息。
1.1.3汽车信息管理功能模块系统管理员可以在汽车信息管理模块实现对汽车信息的管理。
管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息以及想要删除某个汽车信息的时候,就可以完成相应的操作。
管理员也可以在整个数据库中查询相关汽车信息。
1.1.4车票信息管理功能模块在这个功能模块中系统管理员可以在车票管理模块实现对车票信息的管理。
管理员根据相应的汽车信息和线路信息来设置相应的车票详细信息。
管理员还可以对某条线路的车票信息进行修改,删除和查询操作。
1.1.5车票订购信息功能模块用户可以通过查询时间,线路和汽车信息,来确定自己要买什么时间,什么路线,什么型号的汽车的车票,并形成表单。
程序分为登陆界面,主界面,线路信息管理界面,汽车信息管理界面,车票信息管理界面,票务信息管理界面,员工管理界面这几个主体界面。
使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,票务信息,帮助,退出程序菜单选项。
1.1.6帮助功能模块这是软件不可缺少的部分,为了方便使用者实用软件,应该有一个详细的帮助模块。
车站售票管理系统模板
课程设计名称:数据库应用课程设计专业班级:学生姓名:学号:指导教师:课程设计时间:计算机应用技术专业课程设计任务书目录1.需求分析 (2)(1)功能需求 (2)(2 )数据流图 (3)2. 概念结构设计 (5)3. 逻辑结构设计 (6)(1)关系模式 (6)(2)外模式: (6)4. 物理结构设计 (8)(1)实验环境: (8)(2)系统软件结构图: (8)5. 数据库实施和维护 (9)6. 数据库的操作界面 (13)7. 课程设计的过程、体会及建议 (14)参考文献........................................... 错误!未定义书签。
1.需求分析系统应具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。
(1)功能需求经过分析后确定系统应具备以下功能:(1)售票功能1.销售车票任一售票员均可以售权限范围内车次的客票,权限可按班次、车属等属性由管理员设置。
可售全票、半票2.预订车票预订票可在任一未停止售票的车次上进行操作,预订数量仅受剩余位数量限制。
预订的客票售票员不能售出。
预订的客票也可取消预订,取消预订的客票售票员可以售出。
在订票人来取票时,售票员可将预订的客票从电脑上售出3.退票退票时由退票员输入客票的编号,计算机将根据退票时的时间,自动确定退票手续费的比例,也可由系统管理员指定手续费比例。
对不合法的客票(如已办理退票手续的客票、超过规定时间的客票、没有售出的客票、已经作废的客票、不属于权限范围内售出的票等),计算机将自动识别,不予退票。
(2)查询功能①车次查询,可以查询各个班次和票情况。
②时刻表查询:查询任一时刻的班次和票情况。
③售票情况查询:查询已售票和剩余票数的情况。
(3)、调度功能①运价修改:只有管理员有这一权限,根据各种调整票价。
汽车售票系统
课程设计任务书一、课程设计题目:汽车售票系统二、课程设计工作自日止三、课程设计内容:每天“沈阳→植物园”有5个班次的汽车(假设),具体的数据如下:班次发车时间载客量已售票数1 06:40 50 02 09:30 40 03 13:00 40 04 16:00 40 05 20:00 50 0请你为售票员开发一个小程序,以完成每天的“沈阳→植物园”的售票业务。
四、课程设计要求:程序质量:(1)能够售票和退票。
(2)某个班次已经过了开车时间,则该班次今天不再售票。
(3)可以随时显示售票现状,并以文件(myfile.txt)的形式保存当天各个车次的售票情况。
用户界面中的菜单至少应包括“售票”、“退票”、“显示当前售票情况”、“保存当天数据”、“退出”5项,在代码中给出必要的注释,以增强程序的可读性。
课程设计说明书:课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:●封面●课程设计任务书●目录●需求分析(分析题目的要求)●程序流程图(总体流程图和主要功能模块流程图)●核心技术的实现说明及相应程序段●个人总结●参考资料●源程序及适当的注释指导教师:____________________学生签名:_______________目录一、需求分析 (1)二、程序流程图 (2)三、核心技术的实现说明及相应程序段 (5)四、个人总结 (7)五、参考文献 (8)六、源程序 (8)一、需求分析售票系统要求存储当天各个车次售票情况,所以程序需要定义结构体变量存储售票情况。
系统的整体功能通过记录当天各个车次了解售票情况。
编程时采取模块化设计思想,设计主函数,通过主函数中的switch分支选择调用各子函数以实现该系统的各种功能。
然后设计相应的子函数来执行系统的各种功能,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
1、经过对程序设计题目的分析可知,整个程序的设计实现大致分为七个模块,其中每一个模块对应一个函数,他们的功能分别是学生记录输入函数(save)、存储函数(load)、读取函数、卖票函数、退票函数、结束、退出。
汽车站售票信息系统分析与设计【范本模板】
信息系统分析与设计课程设计报告课程信息系统开发与设计课题汽车站售票管理信息系统班级信息管理与信息系统11—1班指导教师 XXXXXXXXXXXXXXXXXXXXXXXX 制作人员 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX 完成日期 2014年7月10日目录前言第1章系统概述1。
1现状描述1.2系统目标1。
3系统开发方法1.4开发计划1。
5可行性分析1.6 设计目的第2章系统分析2。
1系统需求分析2.2业务流程分析2.3数据流程分析2。
4数据字典2。
5面向对象分析2。
6系统测试计划第3章系统设计3.1模块结构设计3。
2数据库设计3。
3详细设计第4章系统主要界面和代码展示附录收获和体会前言随着IT的发展,人们消费模式等方面发生着巨大的变化。
现在,人们坐在家里就能购物、订车票和酒店等等.当然,需求也同样刺激着IT行业的发展.就拿买汽车票来说,尤其是春运期间,买票是件很麻烦的事情,在窗口排队甚至会花掉你一天的时间,甚至有时候还因为信息的缺乏,不能及时有效的了解车票的销售情况,白跑一趟汽车站.利用网上汽车售票系统,旅客可以通过网络查询车票的销售情况并订购汽车票,这极大的提高了订票的效率,节省了订票的时间,缓解了售票窗口拥挤的现状,网上订票系统的成功实施,提高了车站的信息化管理水平,减少了车站工作人员的工作量,为旅客节约了时间.分工第一章系统概述1。
1现状描述目前我国各地区的汽车售票信息化水平差异较大,虽然大部分二级以上的客运站实现了区域内联网售票,但在经济不发达地区和大多数三级以下客运站,还是采用传统的售票方式。
在没有实现联网售票的地区,旅客购票是十分不便的。
互相之间的发车信息沟通缺乏渠道,互相之间不能实现互售。
出行者购票,并不知道各站的具体班次,也不知道去哪个站可以买到,加之公路客运的特点是一段时期内变化较大,班次和发班时间往往根据季节和客流量大小有所调整,出行人更是难以把握。
课程设计汽车售票系统
售票记录包括:车号、起点、终点.n期、开出时刻、到达时刻、座位号、
票价
结构框图:
流程图:
♦管理员
♦普通用户
♦售票员
用SQL Server2000建立后台票务系统数据库
管理员表:
01
JfW
SW
iwa
WS
1
2311-IH0
IM
G:M
n:o)
10)
ICC
39 al
乔IW
2311-11-31
模块一:管理员登录(需要账户和密码认证)
Al
序号
[苏MOOI■苏M002寸苏M003
2ቤተ መጻሕፍቲ ባይዱ11-11-11
泰州
南京
8:00
10:00
100
98
5300
2011-11-12
简京
上緯
10:00
12:00
100
100
5300
2011-11-13
北京
苏州
13:00
15:00
100
100
98,00
到达时刻I预设座位数I剩余座位
8:03
10:00
100
53,00
别D02
2G11-11-12
南京
上海
10:00
12:00
100
53,00
1
别D03
2C11-11-13
北京
釧
13:00
15:00
100
98,00
售票员表:
m
车号
丨日期
1巔
1终点
1齐出时剤
1剥这咽
1座位g
1套价
车站售票管理系统--概要设计课程设计说明书[管理资料]
学校代码: 10128学号:200810205045 200810205024200820205059 200810205021课程设计说明书题目:车站售票管理系统—概要设计说明书学生姓名:学院:信息工程学院系别:计算机系专业:软件工程班级:软件08-2班指导教师:教授讲师2011年7月21日目录1.引言 (1) (1) (1) (2) (2)2.任务概述 (3) (3) (4) (4) (5)3.总体设计 (6) (6) (10) (11)4.接口设计 (12) (12) (16)5.数据结构设计 (17) (17) (19) (20)6.运行设计 (21) (21) (22) (22)7.出错处理设计 (22) (22) (23) (23) (24)1.引言该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的概要设计并明确数据结构与软件体系结构。
主要是把一个软件需求转化为软件表示的过程。
本文档的目的旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。
为这个项目以后的扩展和其他功能开发人员提供背景资料和参考。
完成:1.将系统划分成物理元素,即程序、文件、数据库、文档等。
2.设计软件结构,即将需求规格转换为体系结构,划分出程序的基本模块组成,确定模块的相互关系,并确定数据结构与算法。
读者对象:程序员、测试员、项目总监。
火车票出售管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
本项目适用于Windows 操作系统,使用SQL Server 2005数据库,利用JAVA开发语言开发系统。
委托单位:呼和浩特火车站开发单位:内蒙古工业大学软件工程主管部门:内蒙古工业大学计算机系项目开发者:周伟,马星,张玲燕,苗欣宇用户:呼和浩特火车站产品的所有权:呼和浩特火车站项目的任务提出者:内蒙古工业大学信息工程学院软件工程课程设计提出实现软件的单位:内蒙古工业大学信息工程学院软件08-21.Windows:微软公司推出的视窗电脑操作系统名为windows,随着电脑硬件和软件系统的不断升级,微软的windows操作系统也在不断升级,从16位、32位到64位操作系统。
数据库课程设计(长途客车管理系统)
数据库原理课程设计题目_______________ 网上订票系统院系__________________专业___________________学生姓名学号指导教师二0 一六年十二月十八日目录1、需求分析: (2)1.1课题背景: (2)1.2目的和意义: (3)1.3 可行性分析: (3)1.4 需求分析的成果: (3)1.4.1: 功能结构图: (3)1.4.2: 流程图: (4)1.4.3: 数据流图: (5)1.4.4: 数据字典: (6)2.软件总体设计: (8)3.软件详细设计: (9)3.1车票查询模块: (9)3.1.1:查询车票信息: (9)3.1.2:查询客户信息: (9)3.1.3:查询客户订票信息: (9)3.1.4:查询客户退票信息: (9)3.1.5:查询票存系统记录信息: (9)3.2车票信息管理模块: (9)3.2.1 添加车票信息: (9)3.2.2删除车票信息: (10)3.2.3修改车票信息: (10)4. ............................................................................................................................................................. 数据库设计:.. (10)4.1:概念模型设计: (10)4.1.1 实体属性图: (10)4.1.2:E-R 图 (12)4.1.3: 联系: (12)4.1.4: 完整性约束: (13)4.2:逻辑结构设计: (13)4.2.1:E-R 图向关系模式的转换为: (13)4.2.2:数据表设计: (13)4.3:物理结构设计: (15)4.3.1 存储方式: (15)4.3.2 检索方式: (16)5. ............................................................................................................................................................. 系统编码与设计:. (16)6.总结: (18)1、需求分析:1.1 课题背景:随着Internet 的迅速发展和用户数量的急剧增加,互联网对于企业和事业单位的运营和发展日益重要,并且网上交易也逐渐被人们认可,并成为未来交易的发展方向。
车站售票管理系统-详细设计课程设计说明书[管理资料]
学校代码: 10128学号:200810205045 200810205024200820205059 200810205021课程设计说明书题目:车站售票管理系统—详细设计说明书学生姓名:学院:信息工程学院系别:计算机系专业:软件工程班级:软件08-2班指导教师:教授讲师2011年7月21日目录1.引言 (1) (1) (1) (1) (2)2.总体设计 (2) (2) (3)3.程序描述 (4) (8) (8) (8) (9) (9) (9) (10) (10) (10) (10) (11) (11) (11) (12) (12) (12) (13) (13) (14) (14) (14) (14) (15) (15) (15) (15) (16) (16) (17) (17) (17) (17) (18) (18) (18) (19) (19) (19) (19) (20) (20) (21) (21) (21) (22) (22) (22) (23) (23) (23) (23) (24) (25) (25) (25) (25) (25): (27) (27) (27) (28) (28) (29) (29) (29) (29) (30) (30) (31) (31) (31) (31) (32) (33) (33) (33)1.引言编写详细设计说明书是软件开发过程必不可少的部分,其目的是为了使开发人员在完成概要设计说明书的基础上完成概要设计规定的各个功能块的具体实现的设计工作。
通过对所产生的功能模块进行过程描述,开发一个可以直接转化成程序语言的软件标识,这样可以使软件设计人员很好的了解软件的功能,并对软件的所有模块有一个更深的了解。
本说明书在概要设计的基础上,对车站售票管理系统的各模块,程序,子系统分别进行了实现层面上的要求和说明,为进行后面的实现和测试做准备,检验本系统的各项性能指标,及时发现纰漏及时修补。
车站售票管理系统—需求规格说明书
学校代码: 10128学号:200810205045 200810205024200820205059 200810205021课程设计说明书题目:车站售票管理系统—需求规格说明书学生姓名:马星张玲燕周伟苗欣宇学院:信息工程学院系别:计算机系专业:软件工程班级:软件08-2班指导教师:田保军教授张林丰讲师2011年7月15日目录1.引言 (1)1.1编写目的 (1)1.2项目背景 (1)1.3定义 (2)1.4参考资料 (2)2.任务概述 (2)2.1目标 (2)2.2运行环境 (3)2.3条件与限制 (3)3.数据描述 (3)3.1静态数据 (3)3.2动态数据 (4)3.3数据库介绍 (5)3.4数据词典 (6)3.5数据采集 (7)4.功能需求 (8)4.1功能划分 (8)4.2功能描述 (21)5.性能需求 (22)5.1数据精确度 (22)5.2时间特性 (22)5.3适应性 (22)6.运行需求 (23)6.1用户界面 (23)6.2硬件接口 (28)6.3软件接口 (28)6.4故障处理 (28)7.其它需求 (29)8. 附录 (29)1.引言1.1编写目的随着计算机技术的发展,人类生活速度的加快,单一的人工售票方式已经不能满足人们出行的要求。
每逢出行高峰都会造成火车站售票的拥挤,因此售票自动化应运而生。
车站售票管理系统就是这样的一个产物。
经过我开发小组的调研与讨论研究,基本上明确了该系统的需求,并在此基础上完成软件需求规格说明书。
该文档旨在对该系统的需求做出综合的分析,对各个模块的功能做出具体的说明。
《车站售票管理系统需求规格说明书》的目的是明确《车站售票管理系统》中各项功能和非功能需求,确定系统功能模块,同时为概要设计和详细设计人员提供设计依据,也可供本项目的其他开发人员参阅。
本需求分析报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本火车售票系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。
汽车客运站售票系统需求说明书
汽车客运站售票系统需求说明书目录软件需求说明书 (1)题目: 汽车客运站售票系统 (1)目录 (2)1 引言 (1)1.1 编写目的 (1)1.2 范围 (1)1.2.1 名称 (1)1.2.2任务目标 (1)1.2.3 任务描述 (1)1.3 参考资料 (1)2 项目概述 (2)2.1 项目来源 (2)2.2 运行环境 (2)2.2.1用户界面 (2)2.2.2硬件环境 (3)2.2.3软件环境 (3)2.2.4故障处理 (3)2.3 产品功能 (3)2.4 用户特点 (4)3 具体需求 (4)3.1 功能需求 (4)3.1.1 功能组成 (4)3.1.2功能逻辑 (5)3.2 数据库 (6)3.2.1 数据关系 (6)3.2.2 数据定义 (7)3.3 性能需求 (8)3.3.1数据精确度 (8)3.3.2时间特性 (8)3.3.2.1 响应时间 (8)3.3.2.2 更新处理时间 (8)3.3.2.3 数据的转换和传送时间 (8)3.3.2.4 运行时间 (8)3.3.3适应性 (8)3.4 其他需求 (9)4其他专门要求 (9)4.1可使用性 (9)4.2 保密性 (9)4.3 可维护性 (9)4.4可转移、可转换性 (9)4.5控制 (10)4.6双方签字 (10)1 引言1.1 编写目的对汽车客运站售票系统进行需求分析。
1.2 范围1.2.1 名称汽车客运站售票系统1.2.2任务目标本系统旨在提供更友好的界面、更便捷的操作与更实用的管理,从而降低客运站售票员的劳动强度,提高工作效率,进而提升服务质量,提高旅客满意度。
1.2.3 任务描述策划阶段:搜集参考资料,设计系统整体结构,整体进度安排,选定编程语言与数据库设计工具。
设计阶段:软件模块设计,数据库定义与设计,代码编写。
测试阶段:系统整体调试、分析,相应代码修改维护阶段:根据客户需求,不断更新系统版本。
1.3 参考资料《软件工程》钱乐秋赵文耘等清华大学出版社 20072 项目概述2.1 项目来源随着时代的进步,社会的发展,人们的生活形式与习惯也越来越多样化,出行成为了人们生活中的一个重要组成部分,而汽车成为许多人出行选择的交通工具。
软件工程课程设计说明书-车站售票管理系统需求规格说明书
目录1.引言 (1)1.1编写目的 (1)1.2项目背景 (1)1.3定义 (2)1.4参考资料 (2)2.任务概述 (2)2.1目标 (2)2.2运行环境 (3)2.3条件与限制 (3)3.数据描述 (3)3.1静态数据 (3)3.2动态数据 (4)3.3数据库介绍 (5)3.4数据词典 (6)3.5数据采集 (7)4.功能需求 (8)4.1功能划分 (8)4.2功能描述 (21)5.性能需求 (22)5.1数据精确度 (22)5.2时间特性 (22)5.3适应性 (22)6.运行需求 (23)6.1用户界面 (23)6.2硬件接口 (28)6.3软件接口 (28)6.4故障处理 (28)7.其它需求 (29)8. 附录 (29)1.引言1.1编写目的随着计算机技术的发展,人类生活速度的加快,单一的人工售票方式已经不能满足人们出行的要求。
每逢出行高峰都会造成火车站售票的拥挤,因此售票自动化应运而生。
车站售票管理系统就是这样的一个产物。
经过我开发小组的调研与讨论研究,基本上明确了该系统的需求,并在此基础上完成软件需求规格说明书。
该文档旨在对该系统的需求做出综合的分析,对各个模块的功能做出具体的说明。
《车站售票管理系统需求规格说明书》的目的是明确《车站售票管理系统》中各项功能和非功能需求,确定系统功能模块,同时为概要设计和详细设计人员提供设计依据,也可供本项目的其他开发人员参阅。
本需求分析报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本火车售票系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。
本文档需要交于论证人员进行论证修改,无误后供软件开发人员进行后期的软件设计1.2项目背景委托单位:呼和浩特火车站开发单位:内蒙古工业大学软件工程主管部门:内蒙古工业大学计算机系项目开发者:周伟,马星,张玲燕,苗欣宇用户:呼和浩特火车站产品的所有权:呼和浩特火车站项目背景:火车票出售管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
C++语言课程设计报告(长途客运)订票系统)
xxxx大学xx学院C语言课程设计题目:长途客运售票系统专业:计算机科学与技术班级:姓名:完成时间:目录第一部分:源程序(3-12页)第二部分:函数流程图(13-25页)(1)menu函数流程图(第13页)(2)enter函数流程图(第14页)(3)Order函数流程图(第15页)(4)input函数流程图(第16页)(5)browse函数流程图(第17页)(6)Search_time函数流程图(第18页)(7)Search_end函数流程图(第19页)(8)search函数流程图(第20页)(9)void menu1函数流程图(第21页)(10)book函数流程图(第22页)(11)back函数流程图(第23页)(12)save函数流程图(第24页)(13)load函数流程图(第25页)第三部分:心得体会(第26-27页)第一部分:源程序#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 1000typedef struct plane{char ID[10]; /*客运代号*/char BePlace[10];/*客运发车地点*/char EnPlace[10];/*客运到达终点*/char data[15];/*客运发车时间*/int max;/*客运最大乘客人数*/int price;/*客运票价*/int num;/*客运已售票数*/}PLANE;PLANE ti[N];int n;/*当前的车次数目*/void menu();void menu1();void input(int i){printf("请输入客运代号:\n");scanf("%s",ti[i].ID);printf("请输入发车地点:\n");scanf("%s",ti[i].BePlace);printf("请输入到达地点:\n");scanf("%s",ti[i].EnPlace);printf("请输入发车时间:\n");scanf("%s",ti[i].data);printf("请输入客运的最大载客人数:\n");scanf("%d",&ti[i].max);printf("请输入客运的票价:\n");scanf("%d",&ti[i].price);ti[i].num=0;}void enter(){int i;system( "cls" );printf("请输入客运的数目(0-%d)?:",N);scanf("%d",&n); /*要输入的记录个数*/printf("\n请输入数据\n\n");for(i=0;i<n;i++){printf("\n请输入第 %d 车次记录.\n",i+1);input(i); /*调用输入函数*/}getchar();menu();}void printf_one(int i) /*显示一个记录的函数*/ {printf("%11s %6s %10s %6s %6d %6d %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);}void browse(){int i;system( "cls" );puts("\n--------------------------------------------------------------------");printf("\n\t客运代号发车地点到达地点发车时间票价最大乘客已售票数\n");for(i=0;i<n;i++){printf_one(i);printf("\n");}getchar();getchar();menu();}void order() /*排序模块(按平均成绩)*/{int i,j;struct plane s;system( "cls" );for(i=0;i<n;i++) /*冒泡法排序*/{for(j=i+1;j<n;j++)if(strcmp(ti[i].data,ti[j].data)>0){s=ti[i];ti[i]=ti[j];ti[j]=s;}}browse();}void search_time(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the time:");scanf("%s",s.data); /*输入出发的时间*/puts("\n--------------------------------------------------------------------");printf("\n\t客运代号发车地点到达地点发车时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(s.data,ti[i].data)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();menu1();}void serch_end(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the end Place:");scanf("%s",s.EnPlace); /*输入要到达的地方*/puts("\n--------------------------------------------------------------------");printf("\n\t客运代号发车地点到达地点发车时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(ti[i].EnPlace,s.EnPlace)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();menu1();}void menu1(){int n,w1;do{system( "cls" ); /*清屏*/puts("\t\t\t\t 客运售票操作!\n\n");puts("\t\t*********************MENU*********************\n\n");puts("\t\t\t\t1.按照时间排序");puts("\t\t\t\t2.按照时间查找车次");puts("\t\t\t\t3.按照地点查找车次");puts("\t\t\t\t4.返回主菜单");puts("\n\n\t\t**********************************************\n");printf("Choice your number(1-4): [ ]\b\b");scanf("%d",&n);if(n<1||n>4) /*对选择的数字作判断*/ {w1=1;printf("your choice is not between 1 and 4,Please input again:"); getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:order();break;case 2:search_time();break;case 3:serch_end();break;case 4:menu();break;}}int search() /*查找模块*/{int i,k;struct plane s;k=-1;system( "cls" );printf("\n\n请输入要订票的发车地点:");scanf("%s",s.BePlace); /*输入要到达的地方*/printf("\n\n请输入要订票的到达地点:");scanf("%s",s.EnPlace);printf("\n\n请输入要订票的发车时间:");scanf("%s",s.data); /*输入出发的时间*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPl ace)==0&&strcmp(s.data,ti[i].data)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/}}if(k==-1){printf("\n\nNO exist!");return -1;}elsereturn k;}void book(){int i;system( "cls" );printf("欢迎进入售票窗口!\n");i=search();if(i!=-1){if(ti[i].num>=ti[i].max){printf("\n该趟客运票已售完!");}else{ti[i].num++;printf("\n订票成功!\n");}}elseprintf("该客运不存在!\n");getchar();getchar(); /*按任意健*/menu();}void back(){int i,k=-1;struct plane s;system( "cls" );printf("欢迎进入退票窗口!\n");printf("\n\n输入客运代号:");scanf("%s",s.ID); /*输入要到达的地方*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.ID,ti[i].ID)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/ }}if(k==-1){printf("\n\nNO exist!");}else{ti[i].num--;printf("\n退票成功!\n");}getchar(); /*按任意健*/getchar(); /*按任意健*/menu();}void save(){int w=1;FILE *fp;int i;system( "cls" );if((fp=fopen("\\ticket.txt","wt"))==NULL) /*以输出打开方式,在此前的记录被覆盖*/{printf("\nCannot open file\n");return ;}for(i=0;i<n;i++)if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1){printf("file write error\n");w=0;}if(w==1){printf("file save ok!\n");}fclose(fp);getchar();getchar();menu();}void load(){FILE*fp;int i,w;w=1;system( "cls" );if((fp=fopen("\\ticket.txt","rt"))==NULL){printf("\nCannotopen file\n");w=0;return ;}n=0;for(i=0;!feof(fp);i++){fread(&ti[i],sizeof( struct plane),1,fp);n++;}n=n-1;fclose(fp);if(w==1)printf("Load file ok!");getchar();getchar();menu();}void menu(){int n,w1;do{system( "cls" ); /*清屏*/ /*清屏*/puts("\t\t\t\t 客运售票管理系统!\n\n");puts("\t\t*********************MENU*********************\n\n"); puts("\t\t\t\t1.输入新车次");puts("\t\t\t\t2.浏览 ");puts("\t\t\t\t3.客运操作");puts("\t\t\t\t4.订票");puts("\t\t\t\t5.退票");puts("\t\t\t\t6.保存");puts("\t\t\t\t7.载入");puts("\t\t\t\t8.退出");puts("\n\n\t\t**********************************************\n");printf("Choice your number(1-8): [ ]\b\b");scanf("%d",&n);if(n<1||n>8) /*对选择的数字作判断*/{w1=1;printf("your choice is not between 1 and 8,Please input enter to choice again:");getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:enter();break; /*输入模块*/case 2:browse();break; /*浏览模块*/case 3:menu1();break; /*查找模块*/case 4:book();break; /*订票模块*/case 5:back();break; /*退票模块*/case 6:save();break; /*保存模块*/case 7:load();break; /*加载模块*/case 8:exit(0);}}int main(){menu();}第二部分:函数流程图(2(4)input函数函数函数(9)void menu1函数(10)book函数第三部分:心得体会通过对C语言课程设计的学习,自己有很大的收获,将<<C语言>>应用得到了实践,将所学的各种语句紧密的联系起来,得到了融汇和贯通,使我对C语言有了更深一步的学习和认识。
车站售票管理系统数据库课程设计报告
河南理工大学万方科技学院课程设计报告2010— 2011学年第一学期课程名称数据库系统原理设计题目车站售票管理系统学生姓名王邦政学号**********专业班级通信—3班指导教师刘小燕2010 年09 月25 日目录1、需求求报告分析 (1)1、1 概述 (1)1、2 系统功能分析 (1)1、3 数据流图 (2)1、4 数据字典 (3)2、概念及逻辑结构设计 (7)2、1 ER图 (7)2、2 关系模式 (8)2、3数据结构 (9)3、数据库设计 (10)4、系统软件结构设计 (11)4、1 系统功能设计 (11)4、2 其它需求 (12)4、3说明 (12)5、程序模块设计 (15)5、1 功能模块详细设计 (15)5、2 界面设计 (16)5、3 附录:系统程序源代码 (16)参考文献 (25)1系统需求分析报告1.1概述汽车售票管理系统主要用于车站日常的票务处理。
车售票管理系统在正常运行中需要对使用该系统的主要是汽车站售票人员、汽车站售票工作的管理人员与系统管理员。
为达到操作过程中的直观、方便、实用、安全等要求,我们组在这个系统中采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。
1.2系统功能分析根据需求分析,本系统要实现以下的基本功能。
1.登录功能:分为汽车站售票人员和系统管理员两种权限登陆。
用户通过输入不同用户名和密码进行身份验证,系统通过用户名和密码判断不同用户的权限,从而确定该用户可以执行的操作。
2.车票信息查询功能:由汽车站的普通售票人员通过不同的检索入口,查询车票信息,并进行排序。
3.修改功能:汽车站售票人员、汽车站售票工作的管理人员能够修改自身的用户名和密码,系统管理员则能实现系统用户与普通用户的添加,修改普通用户与系统管理员的密码,以此确保该系统能够安全操作,避免不必要的损失。
4.汇总功能:对当天车票的信息进行汇总。
1.3数据流图图1-1 顶层图 图1-3 售票1层图顶层图 0层图售票记录1层图车票记录订票记录车票记录退票记录图1-5 退票1层图1.4数据字典1.数据项票号、票价、车次、日期、车型、开车时间、票种、座位号、起始站、终点站、身份证号、银行卡号、数量、退票时间、退票手续费、订票时间、订票手续费2.数据结构表1.1 车票的数据结构3.数据流数据流编号:D04-01数据流名称:车票简述:车票有关信息数据流来源:用户执行售票操作结果数据流去向:购票旅客数据流组成:车票编号+车票类型+车次信息+座位信息+票价信息4.数据存储售票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种,座位号,售出时间退票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种,座位号,退票时间订票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种,座位号,订票时间,顾客身份证号缺票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种车票记录:票号,起始站,终点站,票价,车次,日期,开车时间,车型,票种,座位号,售出时间,票数5.处理过程车票汇总:工作人员将一天所售出的票进行统计,包括票数,票类,形成确定的车票记录。
汽车售票系统_详细设计说明书
1.2背景
a.系统的名称:汽车售票系统
b.提出者和开发者:全体成员
用户 :长途汽车站工作人员,系统编译人员
1.3定义
前台、后台、算法
2. 系统的结构
图1 前台
图2 后台
3.7.1模块标识符:ticket_back
3.7.2模块描述:用户如果要求退还车票,可以请求车站售票员进行退票操作
3.7.3模块功能:数据库中存放有用户已经购买的车票信息,售票员在网站中输入相关信息,通过匹配检测,找到该数据进行删除和更新操作。
3.7.4输入项:在车站售票员登陆的前提下,输入车票所对应的车次
string name=request.getparameter(“kind”);
string name=request.getparameter(“reach”);
……..
写入数据库
string url=“”odbc:microsoft:sqlserver://localhost;
databasename=bus”;
3.7.5输出项:正确信息“你要删除的车票(票号)已经成功删除”,错误信息“你所要删除的车票(票号)不存在或已删除”
3.7.5模块算法设计:
为了方便程序员编程,在此简略写出本模块算法:
1.车站售票员输入个人帐号和密码,登陆;
2.使用户要求输入要退票的票号,如果成功给出正确信息“你要删除的车票(票号)已经成功删除”,如果失败则给出错误信息“你所要删除的车票(票号)不存在或已删除”;
按目的站查询:将根据目的站在数据库中找到记录用户提交的这个目的站所在的班车表,利用SQL语句将表中所有的内容查询出来,保存到结果中,然后用while循环的方式输出并显示。
C++语言课程设计报告(长途客运)订票系统)
C++语言课程设计报告(长途客运)订票系统)xxxx大学xx学院C语言课程设计题目:长途客运售票系统专业:计算机科学与技术班级:姓名:完成时间:目录第一部分:源程序(3-12页)第二部分:函数流程图(13-25页)(1)menu函数流程图(第13页)(2)enter函数流程图(第14页)(3)Order函数流程图(第15页)(4)input函数流程图(第16页)(5)browse函数流程图(第17页)(6)Search_time函数流程图(第18页)(7)Search_end函数流程图(第19页)(8)search函数流程图(第20页)(9)void menu1函数流程图(第21页)(10)book函数流程图(第22页)(11)back函数流程图(第23页)(12)save函数流程图(第24页)(13)load函数流程图(第25页)第三部分:心得体会(第26-27页)第一部分:源程序#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 1000typedef struct plane{char ID[10]; /*客运代号*/char BePlace[10];/*客运发车地点*/ char EnPlace[10];/*客运到达终点*/ char data[15];/*客运发车时间*/int max;/*客运最大乘客人数*/int price;/*客运票价*/int num;/*客运已售票数*/}PLANE;PLANE ti[N];int n;/*当前的车次数目*/void menu();void menu1();void input(int i){printf("请输入客运代号:\n");scanf("%s",ti[i].ID);printf("请输入发车地点:\n");scanf("%s",ti[i].BePlace);printf("请输入到达地点:\n");scanf("%s",ti[i].EnPlace);printf("请输入发车时间:\n");scanf("%s",ti[i].data);printf("请输入客运的最大载客人数:\n");scanf("%d",&ti[i].max);printf("请输入客运的票价:\n");scanf("%d",&ti[i].price);ti[i].num=0;void enter(){int i;system( "cls" );printf("请输入客运的数目(0-%d)?:",N);scanf("%d",&n);/*要输入的记录个数*/printf("\n请输入数据\n\n");for(i=0;i<n;i++){printf("\n请输入第 %d 车次记录.\n",i+1);input(i);/*调用输入函数*/}getchar();menu();}void printf_one(int i) /*显示一个记录的函数*/{printf("%11s %6s %10s %6s%6d %6d %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);}void browse(){int i;system( "cls" );puts("\n--------------------------------------------------------------------");printf("\n\t客运代号发车地点到达地点发车时间票价最大乘客已售票数\n");for(i=0;i<n;i++){printf_one(i);printf("\n");}getchar();getchar();menu();}void order() /*排序模块(按平均成绩)*/{int i,j;struct plane s;system( "cls" );for(i=0;i<n;i++) /*冒泡法排序*/{for(j=i+1;j<n;j++)if(strcmp(ti[i].data,ti[j].data)>0){s=ti[i];ti[i]=ti[j];ti[j]=s;}}browse();}void search_time(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the time:");scanf("%s",s.data);/*输入出发的时间*/puts("\n--------------------------------------------------------------------");printf("\n\t客运代号发车地点到达地点发车时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(s.data,ti[i].data)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any keyto contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar();/*按任意健*/getchar();menu1();}void serch_end(){int i,m=0;struct plane s;system( "cls" );printf("\n\nEnter the end Place:");scanf("%s",s.EnPlace);/*输入要到达的地方*/puts("\n--------------------------------------------------------------------");printf("\n\t客运代号发车地点到达地点发车时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(ti[i].EnPlace,s.EnPlace)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any keyto contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar();/*按任意健*/getchar();menu1();}void menu1(){int n,w1;do{system( "cls" );/*清屏*/puts("\t\t\t\t 客运售票操作!\n\n");puts("\t\t*********************MENU*********************\n\n");puts("\t\t\t\t1.按照时间排序");puts("\t\t\t\t2.按照时间查找车次");puts("\t\t\t\t3.按照地点查找车次");puts("\t\t\t\t4.返回主菜单");puts("\n\n\t\t**********************************************\n");printf("Choice your number(1-4):[ ]\b\b");scanf("%d",&n);if(n<1||n>4) /*对选择的数字作判断*/{w1=1;printf("your choice is notbetween 1 and 4,Please inputagain:");getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:order();break;case 2:search_time();break;case 3:serch_end();break;case 4:menu();break;}int search() /*查找模块*/{int i,k;struct plane s;k=-1;system( "cls" );printf("\n\n请输入要订票的发车地点:");scanf("%s",s.BePlace);/*输入要到达的地方*/printf("\n\n请输入要订票的到达地点:");scanf("%s",s.EnPlace);printf("\n\n请输入要订票的发车时间:");scanf("%s",s.data);/*输入出发的时间*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.BePlace,ti[i].BePl ace)==0&&strcmp(s.EnPlace,ti[i]. EnPlace)==0&&strcmp(s.data,ti[i] .data)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/}}if(k==-1){printf("\n\nNO exist!");return -1;}elsereturn k;}void book(){int i;system( "cls" );printf("欢迎进入售票窗口!\n");i=search();if(i!=-1){if(ti[i].num>=ti[i].max){printf("\n该趟客运票已售完!");}else{ti[i].num++;printf("\n订票成功!\n");}}elseprintf("该客运不存在!\n");getchar();getchar();/*按任意健*/menu();}void back(){int i,k=-1;struct plane s;system( "cls" );printf("欢迎进入退票窗口!\n");printf("\n\n输入客运代号:");scanf("%s",s.ID);/*输入要到达的地方*/for(i=0;i<n;i++)/*查找要修改的数据*/{if(strcmp(s.ID,ti[i].ID)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/}}if(k==-1){printf("\n\nNO exist!");}else{ti[i].num--;printf("\n退票成功!\n");getchar();/*按任意健*/getchar();/*按任意健*/menu();}void save(){int w=1;FILE *fp;int i;system( "cls" );if((fp=fopen("\\ticket.txt","wt"))==NULL) /*以输出打开方式,在此前的记录被覆盖*/{printf("\nCannot open file\n");return ;for(i=0;i<n;i++)if(fwrite(&ti[i],sizeof(structplane),1,fp)!=1){printf("file write error\n");w=0;}if(w==1){printf("file save ok!\n");}fclose(fp);getchar();getchar();menu();}void load(){FILE*fp;int i,w;w=1;system( "cls" );if((fp=fopen("\\ticket.txt","rt" ))==NULL){printf("\nCannotopen file\n"); w=0;return ;}n=0;for(i=0;!feof(fp);i++){fread(&ti[i],sizeof( struct plane),1,fp);n++;}n=n-1;fclose(fp);if(w==1)printf("Load file ok!");getchar();getchar();menu();}void menu(){int n,w1;do{system( "cls" ); /*清屏*/ /*清屏*/puts("\t\t\t\t 客运售票管理系统!\n\n");puts("\t\t*********************MENU*********************\n\n");puts("\t\t\t\t1.输入新车次");puts("\t\t\t\t2.浏览 ");puts("\t\t\t\t3.客运操作");puts("\t\t\t\t4.订票");puts("\t\t\t\t5.退票");puts("\t\t\t\t6.保存");puts("\t\t\t\t7.载入");puts("\t\t\t\t8.退出");puts("\n\n\t\t**********************************************\n");printf("Choice your number(1-8):[ ]\b\b");scanf("%d",&n);if(n<1||n>8) /*对选择的数字作判断*/{w1=1;printf("your choice is notbetween 1 and 8,Please input enterto choice again:");getchar();getchar();}else w1=0;} while(w1==1);/*选择功能*/switch(n){case 1:enter();break; /*输入模块*/case 2:browse();break; /*浏览模块*/case 3:menu1();break; /*查找模块*/case 4:book();break; /*订票模块*/case 5:back();break; /*退票模块*/case 6:save();break; /*保存模块*/case 7:load();break; /*加载模块*/case 8:exit(0); }}int main(){menu();}第二部分:函数流程图 (1)menu()函数(28/8/2020 第30页(3)Order函数YY(4)input 函数Y(5)browse 函数(6)Search_time 函数(7)Search_end函数(8)search 函数Y YNY(9)void menu1函数(10)book函数(11)back函数(12)save 函数通过对C获,将<<C语言>>应用得到了实践,将所学的各种语句紧密的联系起来,得到了融汇和贯通,使我对C语言有了更深一步的学习和认识。
汽车站售票管理系统
数据库系统课程设计目录第1 章前言 (1)1.1 课题背景 (1)1.2 开发工具 (1)1.2.1 MFC简介 (1)1.2.2 C++简介 (1)1.2.3 SQL Server 2000数据库 (1)第2章需求分析 (2)2.1 任务概述 (2)2.1.1 系统目标 (2)2.1.2 用户特点 (2)2.2 系统的功能需求 (2)2.2.1 系统角色功能需求 (2)2.2.2 功能模块 (2)2.4 数据需求 (2)第 3 章系统总体设计 (3)3.1 系统功能设计 (3)3.1.1 系统总体模块 (3)第 4 章数据库设计 (4)4.1 数据库概念设计 (4)4.2 逻辑设计 (5)4.2.1 表汇总 (5)4.2.2 表逻辑结构设计 (5)第 5 章详细设计 (7)5.1程序结构的设计 (7)第 6 章系统总结 (16)6.1 总结 (16)6.2 系统不足 (16)第 7 章参考文献 (14)第1 章前言1.1 课题背景1.2 开发工具本系统利用VC++6.0 MFC来设计前台页面,采用C++语言编写后台代码,以Microsoft SQL Server 2000作为后台数据库,选用ADO访问数据库来实现各种功能。
1.2.1 MFC简介从物理角度看,MFC是一个可以控制计算机及其系统的类库,是windows系统目录下的一系列mfc*.dll文件;从逻辑角度看MFC是一个以C++类的层次形式组织面向对象的应用程序框架,程序员可以使用这一框架创建Windows应用程序。
1.2.2 C++简介C语言之所以要起名为“C”,是因为它是主要参考那个时候的一门叫B的语言,它的设计者认为C语言是B语言的进步,所以就起名为C语言;但是B语言并不是因为之前还有个A语言,而是B语言的作者为了纪念他的妻子,他的妻子名字的第一个字母是B;当C语言发展到顶峰的时刻,出现了一个版本叫C with Class,那就是C++最早的版本,在C语言中增加class关键字和类,那个时候有很多版本的C都希望在C语言中增加类的概念;后来C标准委员会决定为这个版本的C起个新的名字,那个时候征集了很多种名字,最后采纳了其中一个人的意见,以C语言中的++运算符来体现它是C语言的进步,故而叫C++。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长途客运售票管理系统的课程设计说明书模板.《C++程序设计》课程设计说明书题目长途客运售票管理系统的设计学号姓名指导教师日期 2013.12.27..内蒙古科技大学课程设计任务书课程名称面向对象程序设计A课程设计设计题目长途客运售票管理系统的设计指导教师孙涛时间 2013-2014秋学期第17、18周一、教学要求1. 巩固和加深学生对C++语言课程的基本知识的理解和掌握2. 掌握C++语言编程和程序调试的基本技能3. 利用C++语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C++语言解决实际问题的能力二、设计资料及参数用C++设计一个系统,能提供下列服务:(1)录入车次信息,格式为:车次开车时间起始终点票价剩余座位221 310 87 20:30 包头北京可不定时地增加车次数据。
(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班车已发出”的提示信息。
(3)查询路线:可按车次编号查询,可按起始站,终点站查询(4)售票和退票功能A:查询车次编号或站点。
当剩余座位数大于0,并且当前系统时间小于开车时间时才能售票,售票后自动更新剩余座位数。
B:退票时,输入退票的车次,当本班车未发出时才能退票,退票后自动更新剩余座位数。
三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)提交课程设计报告:完成系统总结报告以及系统使用说明书..目录第1章需求分析 ..................................................................... ........................................................................ ........ 4 第2章总体设计 ..................................................................... ........................................................................ ........ 4 第3章类的设计 ..................................................................... ........................................................................ ........ 5 第4章详细设计 ..................................................................... ........................................................................ ........ 6 第5章测试 ..................................................................... ........................................................................ ................ 8 第6章总结 ..................................................................... ........................................................................ .............. 14 附录:程序代码 ..................................................................... ........................................................................ .. (15)..第1章需求分析用C++设计一个系统,能提供下列服务:(1)录入车次信息,格式为:车次发车时间起始终点硬座票价剩余座位k264 110 200 20:30 包头北京可不定时地增加车次数据。
(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息。
(3)查询路线:可按车次编号查询,可按起始站,终点站查询4)售票和退票功能 (A:查询车次或站点。
当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。
B:退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。
第2章总体设计1.用结构框图表示各个功能之间的关系。
..2. 将框图中系统的各个功能用文字详细的描述。
基本功能:录入——次、始发站、终点站、开车时间(小时、分钟)、票价、剩余票数等信息。
浏览车次——查看所有的录入车次其中开车时间小于当前时间的车次则输出车次已发出。
查询车次——通过搜索车次或站点来快速的查看车辆的信息。
定退票——车时间大于当前系统时间的前提下才可退票并且在票数大于零的前提下才可定票,票数更新。
文件的存储——存储录入的车次信息以便下次访问。
文件的读取——读取文件内的信息方便操作以上的各项功能;。
第3章类的设计 3.1 相关数据结构的说明车次:变量 train 定义为字符型。
发车时间:time 结构体。
始发站:变量 star-station 字符型。
终点站:变量end-station 字符型。
开车的间: :变量 time 整型、变量 time1 整型。
票价 :变量 ticket-price 实型。
剩余票数 :变量remaind_seats 整型。
3.2 类的设计定义了一个user 类,类中包括以下几部分:私有段: 私有段:定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。
定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。
公有段公有段依次为输出函数、定票函数、退票函数。
友元函数..查询函数、浏览函数、文件存储函数、文件读取函数。
定义了一个service 类,类中包括以下几部分:公有继承了user类私有段: 私有段:定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。
定义车辆的车次、开车时间(小时、分钟)、始发站、终点站、票价、票数。
公有段公有段依次为输入函数、输出函数、定票函数、退票函数。
添加设定信息函数。
友元函数查询函数、浏览函数、文件存储函数、文件读取函数。
添加输入函数。
3.3全局变量,重要形式参数、局部变量等等,它们的命名及用途解释g-num:确定数组对象的个数,也是控制循环的条件。
ticket[j]:代表具体的某个对象。
A: bool型,判断使用者身份。
B: bool型,判断是否退出程序。
t: long型,获得当前距1970年秒数。
pt: tm 指向类的对象的指针,指向当前时间。
Functionnumber:整型,选择功能。
第4章详细设计 4.1 工程视图说明有几个源代码文件,可以截取工程文件视图表示4.2 类图视图每个文件包含哪些类和函数,可以截图说明..4.3 主程序流程图 ..第5章测试程序的运行结果截图。
1验证身份..2管理员登陆..3录入信息并保存.. 4浏览5不是管理员,不能录入信息.. 5查询子菜单6查询车次..7订票8退票9退出..第6章总结经历过基本几天都在看程序的时间,我发现我懂的太少,要学的太多。
原以为会很轻松,但还是遇到很多问题,以前上课时从未想到过。
对文件的操作我一直都没注意,现在才发现其乐无穷,学习与实践果然是不可分割的。
发现水平还是不够,同学可以编出一个比较漂亮的界面,还可以随意调用文件操作,实在让人赞叹不已。
课程设计旨在锻炼学生的实际动手能力和解决真实问题的能力。
并在其中掌握和熟练所学的知识,并能够运用所学知识解决比较简单的现实模拟问题。
本次课程设计在老师的帮助和自己的努力下终于能够成功运行,使我感到非常高兴以及提高了自己的编程信心,虽然这次课程设计的题目实现比较简单和不实用但毕竟是自己将近两个星期的努力地结果。
在期间我对编程的理念理解又加深了一点,他是我明白好的算法或者是好的逻辑思维对编程的重要性,在..调试期间我自卑过、高兴过、平静过。
可以说是我经历了比较大的情感波动。
当费很大劲才把程序调运行的时候那种感觉实在是太好了。
在本次课程设计活动中,我明显的感觉到自己知识的欠缺和实际动手能的差劲。
尤其是在传值传参的函数调用时更体现的非常明显,感觉自己的书本学的不透、学的不扎实。
有些地方更本就不会,不如说文件的操作,比如说系统时间的获取等以前在上课或作习题时更本就不会考虑的问题在课程设计当中完全暴露出来。
此次实习加强了我的理解,很多以前迷糊的概念得到了明确,亦让我感到计算机语言的强大之处。
一句诗概括此次实践,“山重水复疑无路,柳暗花明又一村”;如今实践已然结束,但是对于计算机语言的学习决不能放松,“雄关漫道真如铁,而今迈。
现在的世界是信息化的,路漫漫其修远兮,吾将上下而求索。
步从头越”感谢老师抽出时间的指导,同时亦感谢大家这些天来的支持与帮助。
附录:程序代码#include <iostream>#include <iomanip>#include <stdlib.h>#include<string.h>#include <fstream>#include <ctime>using namespace std;const int N=10;bool A=false,B=true;long t = time(0);tm * pt = localtime(&t);void mainmenu();struct Time{int hour;int minute; };..class user{ friend void save ();friend void sure_message();friend void browse();friend void ticketmenu();friend void search_train();friend void search_station(); protected: char train[10];Time time;char start_station[20];char end_station[20];int ticket_price;int remaind_seats;public:void display(){cout<<train<<"\t"<<" "<<setfill('0')<<setw(2)<<time.hour<<":" <<setw(2)<<time.minute<<"\t\t"<<" "<<start_station<<"\t"<<" "<<end_station<<"\t"<<" "<<ticket_price<<"\t"<<" "<<remaind_seats<<"\t";t = ::time(NULL);tm * pt = localtime(&t);if(time.hour<pt->tm_hour)cout<<" 此班列车已发出";else if(time.hour==pt->tm_hour&&time.minute<=pt->tm_min)cout<<" 此班列车已发出";else cout<<"\t正常";cout<<endl;}void order(){if(time.hour<pt->tm_hour)cout<<" 此班列车已发出,不能订票,退出~";else if(time.hour==pt->tm_hour&&time.minute<=pt->tm_min)cout<<" 此班列车已发出,不能订票,退出~";else if ( remaind_seats == 0 )cout << "此班列车已没票,不能订票,退出~" << endl;else{remaind_seats = remaind_seats - 1;cout <<train<<"次列车 "<< "售票一次,现存票量为:" << remaind_seats <<endl;..}}void Delete(){if(time.hour<pt->tm_hour)cout<<" 此班列车已发出,不能退票,退出~";else if(time.hour==pt->tm_hour&&time.minute<=pt->tm_min)cout<<" 此班列车已发出,不能退票,退出~";else {remaind_seats = remaind_seats + 1;cout <<train<<"次列车 "<< "退票一次,现存票量为:" << remaind_seats <<endl;}}} ;class service :public user{friend void input();public:void setinfo (char* c, int h, int m, char* q, char* z, int p, int s) {strcpy(train,c);time.hour=h;time.minute=m;strcpy(start_station,q);strcpy(end_station,z);ticket_price=p;remaind_seats=s;}};service ticket[N];static int g_num=-1;void save (){ofstream file("数据.txt",ios::out);for(int j=0;j<=g_num;j++){file<<ticket[j].train<<" ";file<<ticket[j].time.hour <<" ";file<<ticket[j].time.minute<<" ";file<<ticket[j].start_station <<" "; file<<ticket[j].end_station <<" "; . .file<<ticket[j].ticket_price<<" "; file<<ticket[j].remaind_seats <<endl; }file.close();cout<<"信息已存入文件"<<endl;}void input(){g_num++;char c[10];int h;int m;char q[20];char z[20];int p;int s;cout<<"车次:";cin>>c;cout<<"开车时间hour:";cin>>h;cout<<"开车时间minute:";cin>>m;cout<<"起始:";cin>>q;cout<<"终点:";cin>>z;cout<<"票价:";cin>>p;cout<<"剩余座位:";cin>>s;ticket[g_num].setinfo (c, h, m, q, z, p, s);save ();}void browse(){int j;t = time(NULL);tm * pt = localtime(&t);cout<<"当前时间:"<<setfill('0')<<setw(2)<<pt->tm_hour<<':';cout<<setw(2)<<pt->tm_min<<':';cout<<setw(2)<<pt->tm_sec<<endl<<endl;cout<<"现存车次信息如下:"<<endl<<endl;cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t"<<"剩余座位\t"<<"状..态\t"<<endl;for( j=0;j<=g_num;j++)ticket[j].display(); }void search_train(){char train[10];cout<<"输入你要查询的车次:";cin>>train;cout<<endl<<endl;for(int j=0;j<=g_num;j++)if(strcmp(train,ticket[j].train)==0){cout<<"查询结果:"<<endl;cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t" <<"剩余座位\t"<<"状态\t"<<endl;ticket[j].display();break;}if(j>g_num)cout<<"对不起,没有这趟车次信息~";}void search_station(){char station[20];cout<<"输入你要查询的站点:";cin>>station;cout<<endl<<endl;for(int j=0;j<=g_num;j++)if((strcmp(station,ticket[j].start_station)==0)||(strcmp(station,tic ket[j].end_station)==0)){cout<<"查询结果:"<<endl;cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t"<<"剩余座位\t"<<"状态\t"<<endl;ticket[j].display();break;}if(j>g_num)cout<<"对不起,没有有关此站点的车次信息~"; }void ticketmenu(){long t = time(0);tm * pt = localtime(&t);int functionNumber;int j; ..cout<<" >>>>>> 票务菜单 <<<<<<\n";char train[10];char station[20];cout<<"可按站点或车次查询订票(1.按站点,2.按车次)"<<endl;cout<<"选择你需要的功能:";cin>>functionNumber;getchar();for(;functionNumber!=1&&functionNumber!=2;){cout<<"指令错误~请重新输入~"<<endl;cin>>functionNumber;}cout<<endl<<endl;if (functionNumber==1){cout<<"输入你要订票或退票的站点:";cin>>station;cout<<endl<<endl;for( j=0;j<=g_num;j++)if((strcmp(station,ticket[j].start_station)==0)||(strcmp(station,tic ket[j].end_station)==0)){cout<<"本车次现存信息:"<<endl;cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t"<<"剩余座位\t"<<"状态\t"<<endl;ticket[j].display();break;}if(j>g_num)cout<<"对不起,没有这趟车次信息~,无法订退票~";}if (functionNumber==2){cout<<"输入你要订票或退票的车次:";cin>>train;cout<<endl<<endl;for( j=0;j<=g_num;j++)if(strcmp(train,ticket[j].train)==0){cout<<"本车次现存信息:"<<endl;cout<<"车次\t"<<"开车时间\t"<<"起始\t"<<"终点\t"<<"票价\t"<<"剩余座位\t"<<"状态\t"<<endl;ticket[j].display();break;}if(j>g_num)cout<<"对不起,没有有关此站点的车次信息~无法订退票~"; ..}if(ticket[j].time.hour<pt->tm_hour)cout<<"此班列车已发出,不能订退票~";else if(ticket[j].time.hour==pt->tm_hour&&ticket[j].time.minute<=pt->tm_min)cout<<"此班列车已发出,不能订退票~";else{cout<<"\n";cout<<" 1.订票 \n";cout<<" 2.退票 \n";cout<<" 3.返回主菜单 \n";cout<<"\n";cout<<"选择你需要的功能:";cin>>functionNumber;for(;functionNumber!=1&&functionNumber!=2&&functionNumber!=3;) {cout<<"指令错误~请重新输入~"<<endl;cin>>functionNumber;}cout<<endl<<endl;switch(functionNumber){case 1:ticket[j].order();save ();break;case 2:ticket[j].Delete();save ();break;case 3:mainmenu();break;}//switch ends}}void search_menu(){int functionNumber;cout<<" >>>>>> 查询子菜单 <<<<<< \n";cout<<endl;cout<<" 1.按班次查询 \n";cout<<" 2.按站点查询 \n";cout<<" 3.返回主菜单 \n";..cout<<endl;cout<<"请选择你所需要的功能:";cin>>functionNumber;cout<<endl<<endl;for(;functionNumber!=1&&functionNumber!=2&&functionNumber!=3;) {cout<<"指令错误~请重新输入~"<<endl;cin>>functionNumber;cout<<endl<<endl;}switch(functionNumber){case 1:search_train();break;case 2:search_station();break;case 3:system("cls");mainmenu();}}void mainmenu(){int functionNumber;cout<<" >>>>>> 欢迎使用车票管理系统 <<<<<< \n";cout<<endl;cout<<" 1.录入班次信息\n";cout<<" 2.浏览班次信息\n";cout<<" 3.查询行车路线\n";cout<<" 4.售票与退票系统\n";cout<<" 5.退出系统\n";cout<<endl;cout<<"请选择你所需要的功能:";cin>>functionNumber;cout<<endl<<endl;switch(functionNumber){case 1:{ char c;if (A){do..{input();cout<<"已录入"<<g_num+1<<"条航班信息(包括已从文件中读取的),想继续录入吗(y/n)"<<endl;cin>>c;for(;c!='y'&&c!='n';){cout<<"指令错误~请重新输入~"<<endl;cin>>c;}} while (c=='y');}else cout<<"对不起,您不是管理员不能进行这项操作~";cout<<endl<<"按任意键回主菜单......"<<endl;getchar();getchar();system("cls");}break;case 2:{browse();cout<<endl<<endl<<endl<<"按任意键回主菜单......"<<endl; getchar();getchar();system("cls");}break;case 3:{search_menu();cout<<endl<<"按任意键回主菜单......"<<endl;getchar();getchar();system("cls");}break;case 4:{ticketmenu();cout<<endl<<"按任意键回主菜单......"<<endl;getchar();getchar();system("cls");}break;case 5:{t = time(NULL);tm* pt = localtime(&t); ..system("cls");cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl; cout<<" >>>>>> 谢谢使用车票管理系统 <<<<<<\n";B=false;}break;default:{cout<<"输入错误,请确保你的输入为1--5"<<endl;cout<<"按任意键回主菜单......"<<endl;getchar();system("cls");}}//switch ends}void sure_message(){cout<<" >>>>>> 欢迎使用车票管理系统 <<<<<<\n"<<endl<<endl;ifstream file ( "数据.txt" ,ios::in) ;if ( !file ){if (A){cout << "从没录入过信息,请您先录入信息" <<endl;input();cout<<endl<<"按任意键回主菜单......"<<endl;getchar();system("cls");mainmenu();}else cout<<"对不起,系统还没录入过任何信息,请提示管理员录入信息~"; }else{cout<<"本次运行尚未录入信息,默认读取已存信息\n";cout<<"按任意键读取......\n";getchar();getchar();while( !file.eof()){g_num++;file>>ticket[g_num].train;file>>ticket[g_num].time.hour ;file>>ticket[g_num].time.minute; ..file>>ticket[g_num].start_station;file>>ticket[g_num].end_station;file>>ticket[g_num].ticket_price;file>>ticket[g_num].remaind_seats;}g_num--;file .close();cout<<"读取完毕~"<<endl;}}void main(){int functionNumber,code;cout<<"请输入您的身份(1.管理员,2.乘客)"<<endl; cout<<"您的身份:";cin>>functionNumber;for(;functionNumber!=1&&functionNumber!=2;) {cout<<"指令错误~请重新输入~"<<endl;cin>>functionNumber;}if (functionNumber==1){cout<<"请输入密码:";cin>>code;for(;code!=112233;){cout<<"指令错误~请重新输入~"<<endl; cin>>code;}A=true;}sure_message();do mainmenu();while(B);}.。