长途客运售票管理系统的课程设计说明书模板
- 格式:doc
- 大小:294.50 KB
- 文档页数:34
大巴售票管理系统详细设计说明书一、需求分析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现状描述目前我国各地区的汽车售票信息化水平差异较大,虽然大部分二级以上的客运站实现了区域内联网售票,但在经济不发达地区和大多数三级以下客运站,还是采用传统的售票方式。
在没有实现联网售票的地区,旅客购票是十分不便的。
互相之间的发车信息沟通缺乏渠道,互相之间不能实现互售。
出行者购票,并不知道各站的具体班次,也不知道去哪个站可以买到,加之公路客运的特点是一段时期内变化较大,班次和发班时间往往根据季节和客流量大小有所调整,出行人更是难以把握。
学校代码: 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 项目来源随着时代的进步,社会的发展,人们的生活形式与习惯也越来越多样化,出行成为了人们生活中的一个重要组成部分,而汽车成为许多人出行选择的交通工具。
长途客运售票管理系统的课程设计说明书模板.《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);}.。