




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、30沈沈 阳阳 工工 程程 学学 院院课 程 设 计设计题设计题目:目: 火火车车票售票管理票售票管理系系 别别 信息学院信息学院 班班级级 物物联联网网 131 学生姓名学生姓名 向泉流、石雨、向泉流、石雨、陈陈思思思思 学号学号 25、 、06、 、14 指指导导教教师师 崔妍崔妍 、代、代钦钦 职职称称 讲师讲师、 、讲师讲师 起止日期:起止日期:2014 年年 6 月月 22 日起日起至至 2014 年年 7 月月 4 日止日止沈 阳 工 程 学 院课程设计任务书课课程程设计题设计题目:目:火火车车售票系售票系统统 系系 别别 信息学院信息学院 班班级级 数媒数媒 131 学生姓名学生
2、姓名 徐培徐培伟伟 金曲文金曲文 学号学号 29 34 指指导导教教师师 姜柳姜柳 职职称称 讲师讲师、 、讲师讲师 课课程程设计进设计进行地点:行地点: 实训实训 F608 任任 务务 下下 达达 时时 间间: : 2015 年年 1 月月 17 日日起止日期:起止日期:2015 年年 1 月月 19 日起日起至至 2015 年年 1 月月 23 日止日止教教研研室室主主任任 张张欣欣 2015 年年 1 月月 17 日日批批准准30一、课程设计的原始资料及依据在现代社会,火车以其安全,舒适以及其服务的周到使愈来愈多的人选择了火车为长距离出行的交通工具,这就使火车公司以及车站的工作量愈来愈大
3、,若仍然使用文件或者人工来管理公司、车站、火车、列班、路线、客户以及售票的信息,那无疑在效率上会大打折扣。 21 世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。利用计算机来储存和管理公司、车站、火车、列班、车线、客户以及售票的信息成为了首选,在这种情况下,火车订票系统就显得非常重要了。两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条路线的情况登录在一张线性表上,由于路线基本不变
4、,可采用顺序存储结构,并按车次有序或按终点站名有序。每条路线是这张表上的一个记录,包含上述 8 个域,其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。用队列来进行客户信息的存储。编辑用户使用菜单,内容包括:输入列班信息,保存列班信息,读取列班信息,查找列班信息,删除列班信息,订票信息,退票信息以及修改信息。二、课程设计主要内容及要求1. 列车基本信息管理:输入所有列班信息。每条路线所涉及的信息有:终点站名、车次号、车厢号、开车周日(星期几) 、乘员定额、余票量、已订票的客户
5、名单(包括姓名、订票量、座位等级 1,2 或 3)以及等候替补的客户名单(包括姓名、所需的票量) 。2列车基本信息查询:按车次号查找,按抵达站查找,按路线查找三种查找方式进行查找。3. 订票管理:客户对想要购买的票进行订票。3. 退票管理:将不想要的票进行退票。三、对课程设计说明书撰写内容、格式、字数的要求1课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、设计小组评语、参考文献等。一般不应少于 3000 字。2在适当位置配合相应的实验原理图、数据通路图、微程序流程图、实验接线图、微指令代码表等图
6、表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。设计小组评语处注明设计组编号、设计组组长、设计组成员,并由设计组组长给出评语。4课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用 A4 纸,页边距均为 20mm,正文采用宋体小四号字,行间距 18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。5课程设计说明书装订顺序为:封面、任务书、成绩评定表、目
7、录、正文、参考文献。四、设计完成后应提交成果的种类、数量、质量等方面的要求1完成“任务书”中指定的操作功能,运行稳定。2课程设计说明书。五、时间进度安排顺序阶段日期计 划 完 成 内 容备注1第 1 天(12 月 27 日)阅读资料2第 23 天(12 月 28 日12 月 29 日)系统分析设计3第 47 天(12 月 30 日1 月 4 日)程序编制、调试及运行4第 89 天(1 月 5 日1 月 6 日)成绩评定5第 10 天(1 月 7 日)撰写课程设计说明书六、主要参考资料(文献)1严蔚敏 吴伟民.数据结构(C 语言版). 北京:清华大学出版社.20072谭浩强.C 程序设计.北京:
8、清华大学出版社.1999.123滕国文.数据结构课程设计.北京:清华大学出版社.2010.094苏仕华 等编著. 数据结构课程设计. 北京:机械工业出版社.2005.055李春葆.数据结构(C 语言版)习题与解析.北京:清华大学出版社.2002.04沈沈 阳阳 工工 程程 学学 院院程序设计基础课程设计成绩评定表程序设计基础课程设计成绩评定表系(部):系(部): 信息学院信息学院 班级:班级: 数媒数媒131131 学生姓名:学生姓名: 徐培伟徐培伟 指指 导导 教教 师师 评评 审审 意意 见见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安
9、排。工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。指导教师评审成绩指导教师评审成绩(加权分合计乘以(加权分合计乘以 8 8) 分分加权分合计加权分合计指指 导导 教教 师师 签签 名:名: 年年 月月 日日评评 阅阅 教教 师师 评评 审审 意意 见见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力工作量工作量饱满,难度适中。说明书的质量说明书立论正
10、确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。评阅教师评审成绩评阅教师评审成绩(加权分合计乘以(加权分合计乘以 4 4)分分加权分合计加权分合计评评 阅阅 教教 师师 签签 名:名: 年年 月月 日日答答 辩辩 小小 组组 评评 审审 意意 见见评价内容具 体 要 求权重评 分加权分学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。答 辩思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。答辩小组评审成绩答辩小组评审成绩(加权分合计乘以(加
11、权分合计乘以 8 8)分分加权分合计加权分合计答辩小组教师签名:答辩小组教师签名: 年年 月月 日日课课 程程 设设 计计 总总 评评 成成 绩绩分分 沈阳工程学院课程设计报告 摘要I沈沈 阳阳 工工 程程 学学 院院程序设计基础课程设计成绩评定表程序设计基础课程设计成绩评定表系(部):系(部): 信息学院信息学院 班级:班级: 数媒数媒131131 姓名:姓名: 金曲文金曲文 指指 导导 教教 师师 评评 审审 意意 见见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计
12、工作, 工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。 说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。指导教师评审成绩指导教师评审成绩(加权分合计乘以(加权分合计乘以 8 8) 分分加权分合计加权分合计指指 导导 教教 师师 签签 名:名: 年年 月月 日日评评 阅阅 教教 师师 评评 审审 意意 见见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力工作量工作量饱满,难度适中。说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,
13、图表完备,书写工整规范。评阅教师评审成绩评阅教师评审成绩(加权分合计乘以(加权分合计乘以 4 4)分分加权分合计加权分合计评评 阅阅 教教 师师 签签 名:名: 年年 月月 日日答答 辩辩 小小 组组 评评 审审 意意 见见评价内容具 体 要 求权重评 分加权分学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。答 辩思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。答辩小组评审成绩答辩小组评审成绩(加权分合计乘以(加权分合计乘以 8 8)分分加权分合计加权分合计答辩小组教师签名:答辩小组
14、教师签名: 年年 月月 日日课课 程程 设设 计计 总总 评评 成成 绩绩分分 沈阳工程学院课程设计报告 摘要II摘 要时代在进步,科技在发展,这改变了整个世界和人类的生活方式。同时,这也要求我们新世纪的大学生掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求,跟上时代的脚步。新世纪需要具有丰富的现代科学知识,能够独立解决面临的任务,充满活力,又有创新意识的新型人才。随着各个领域的突飞猛进,计算机也有它卓越的进步。数据结构不仅为计算机专业工作者所使用,而且为广大计算机应用人员所喜爱和使用。数据结构是国际上广泛流行的计算机高级语言。它适合作为系统描述语言,既可以用来编写系统
15、软件,也可以用来编写应用软件。许多高等学校,不仅在计算机专业开设数据结构课程,而且在非计算机专业也开设了数据结构课程。学习数据结构已经成为广大计算机应用人员和广大青年学生的迫切要求。本次数据结构课程设计的题目是火车售票系统。对于火车售票系统,两个客户名单可分别有线性表和队列实现。为查找方便,以订票客户已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条路线的情况登录在一张线性表上,由于路线基本不变,可采用顺序存储结构,并按车次有序或按终点站名有序。每条路线是这张表上的一个记录,包含上述 8 个域,其中
16、乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。编辑用户使用菜单,内容包括:输入列班信息,保存列班信息,读取列班信息,查找列班信息,删除列班信息,订票信息,退票信息以及修改信息。在为期两周的数据结构课程设计学习中,先要学习数据结构课程的目的掌握数据结构存储的方法,学习会用计算机语言编写程序,以实现所需要处理的任务。要正确处理算法与语法的关系,算法结构存储是程序的核心、是灵魂,语法是外壳、是工具。不应把学习重点放在语法规则上,语法是重要的,不掌握语法规则就无法编写出正确的程序。一定要把重点放在解题的思路上和运用何种存储的方法,通过思考和大量的阅读,来构造一个
17、完整的程序。数据结构存储的设计直接关系到程序的好坏。最后,感谢老师在我们程序设计的过程中辛勤的指导和不倦的教诲。关键词关键词 线性表,数组,队列,设计 沈阳工程学院课程设计报告 目 录 - - 1 - -目 录第一章第一章 问题分析问题分析.21.1 引言.21.2 背景.21.3 分析.2第二章第二章 运行原理和环境运行原理和环境.42.1 数据理论.42.2 运行环境.5第三章第三章 系统分析与设计系统分析与设计.93.1 火车票系统问题分析.93.2 火车票系统功能设计.10第四章第四章 系统功能实现系统功能实现.164.1 火车售票系统算法思想.164.2 系统程序代码.16总总 结结
18、.27致致 谢谢.28参考文献参考文献.29 沈阳工程学院课程设计报告 第一章 问题分析 - 2 -第一章 问题分析1.1 引言数据结构的教学要求是:学会分析研究计算机加工的数据结构的特征,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术。另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范。在学习中,先要学习程序设计课程的目的掌握设计程序的思路,学习会用计算机语言编写程序,以实现所需要处理的任务。要正确处理算法与语法的关系,算法是程序的核心、是灵魂,语法是外壳、是工具。不应把学习
19、重点放在语法规则上,语法是重要的,不掌握语法规则就无法编写出正确的程序。一定要把重点放在解题的思路上,通过思考和大量的阅读,来构造一个完整的程序。请记住:重要的是学会编程,而不是背语法。程序设计是为了锻炼我们的实际动手能力,在一定程度上,又增加了我们的各方面的知识,特别是一些联系实际的课程设计,它的完成需要自己平时积累的大量知识、并且需要勤于思考的能力和无限的激情。本次课程设计主要是学习程序设计的方法,进行程序设计的基本训练,大多数的学生应该把精力放在最基本,最常用的内容上,学好基本功。通过本次课程设计,相信我们一定能加强对数据结构这门课程的学习,尤其在动手实践上会有很大的进步。1.2 背景在
20、人们日常的火车订票和退票中,有大量的数据和信息需要存储和处理,通常纸质的档案不容易保存和使用,在查询,订票,退票上有很大的困难,浪费大量的时间和人力也不一定能够取得很好的效果,为了方便人们订票,开发一个火车售票系统迫在眉睫。1.3 分析队列来进行客户信息的存储。编辑用户使用菜单,内容包括:列车基本信息管理,列车基本信息查询,订票管理,退票管理。火车售票系统分为四个大模块,分别为列车基本信息管理,列车基本信息查询,订票管理,退票管理。 列车基本信息管理输入火车的车次号。在循环中,如果火车的车次号不存在的话,创建新结点并依次输入火车的信息,该车次号的信息输入完毕,保存到文件中,结束输入;如果火车的
21、车次号存在的话,重新输入,重复上述过程,单链表创建完毕。沈阳工程学院课程设计报告 第一章 问题分析 - 3 - 列车基本信息查询列车基本信息查询是在已有的火车订票系统中按地点、按车次、按车线查找到火车信息,并将其显示在屏幕上。通过移动指针找到与输入相同的地点、车次、车线,并将该地点、车次、车线所对应的火车的信息输出。 订票管理根据查询功能查找出所要订购的车票信息,输入所要订购的车票信息。先判断链表是否为空,若为空,显示“没有任何记录” ;若不为空,输入车票的数量,看有没有火车票,若没有火车票,输出没有火车票,否则对该结点进行订票操作。 退票管理根据查询功能查找出所要退票的车票信息,先判断链表是
22、否为空,若为空,返回主菜单;若不为空,看是否过期,若过期,输出退票失败,否则对该结点进行退票操作。主函数是程序的入口,采用模块化设计。通过一定的入口可以进行列车基本信息管理、列车基本信息查询、订票管理、退票管理。沈阳工程学院课程设计报告 第二章 运行原理和环境- 4 -第二章 运行原理和环境2.1 数据理论链表是一种动态存储结构,所占用的存储空间在程序的执行过程中得到,当线性表需要增加一个结点时,要为该结点向系统申请一个存储空间。当线性表删除一个结点时,要将已删除的结点的存储空间释放,归还给系统。每个存储结点不仅包含有所存储元素本身的信息(称之为数据域) ,而且包含所有元素之间逻辑关系的信息,
23、即前驱结点包含有后继结点的地址信息(这称为指针域) ,这样可以通过前驱结点的指针域方便地找到后继结点的位置,提高数据查找速度。队列是一种先进后出的线性表,它只允许在表的一端进行插入,而在另一端进行删除元素。以队列的链式表示和实现为例。一个链队列需要两个分别指向队头和队尾的指针才能唯一确定。首先给链队列添加一个头结点,并且令头指针指向头结点。链队列的操作即为单链表的插入和删除的特殊情况,只是尚需修改尾指针或头指针。一般情况下,删除队列头元素时仅需修改头结点中的指针,但当队列中最后一个元素被删除后,队列尾指针也丢失了,因此,需要对队尾指针重新赋值(指向头结点) 。火车售票系统应用数据结构的知识有:
24、链式线性表存储结构和队列。线性表的链式存储结构的特点:是用一组任意的存储单元存储线性表的数据元素,结点的一个域表示元素本身,另一个是能指示其后继的指针,用来表示线性表数据元素的逻辑关系。顺序表的可随机存取特点。我们将任务分成多个最简化的模块,增强了可读性和简单性,同时为日后的编写,调试,维护提供了极大地方便。队列的特点是:它只允许在表的一端进行插入,而在另一端进行删除元素。在火车售票系统中,我们把列车和客户分别作为一个结点,该结点类型为结构体型,结构体中的域表示列车和客户的属性。每个结点除了存放属性外,还存放指向后继结点的指针。列车基本信息管理:存储是将一个车次信息作为一个结点以链式存储在文件
25、中。列车基本信息查询:在已有的火车售票系统中按地点,按车次,按车线查找到列车信息,并将其显示在屏幕上。订票管理:在原有的火车售票系统中查找到要订购的车次信息,并将该车次所在的结点输出。退票管理:根据查询功能查找出所要退票的车票信息,然后退票处理。沈阳工程学院课程设计报告 第二章 运行原理和环境- 5 -2.2 运行环境本次课设采用 Microsoft Visual C+ 6.0 运行环境。VC+6.0 是 Microsoft 公司推出的一个基于 Windows 系统平台、可视化的集成开发环境,它的源程序按 C+语言的要求编写,并加入了微软提供的功能强大的 MFC(Microsoft Found
26、ation Class)类库。MFC 中封装了大部分 Windows API 函数和 Windows 控件,它包含的功能涉及到整个 Windows 操作系统。MFC不仅给用户提供了 Windows 图形环境下应用程序的框架,而且还提供了创建应用程序的组件,这样,开发人员不必从头设计创建和管理一个标准 Windows 应用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。另外,它提供了大量的代码,指导用户编程时实现某些技术和功能。因此,使用 VC+提供的高度可视化的应用程序开发工具和MFC 类库,可使应用程序开发变得简单。 单击“开始”选择“所有程序” ,双击点开 Microsof
27、t Visual studio 2010。如图 2-1 所示。图 2-1 打开 Microsoft Visual Studio 2010 运行环境沈阳工程学院课程设计报告 第二章 运行原理和环境- 6 - 打开界面如图 2-2 所示。图 2-2 打开 Microsoft Visual Studio 2010 操作界面 建立新的工程:在文件中点击新建-右击选项目-在项目中填写你的工程名(例如15). 图 2-3 在文件中新建项目 双击其他语言并选 visual c+-选择一个空项目-填写项目名(例如 y).沈阳工程学院课程设计报告 第二章 运行原理和环境- 7 - 图 2-4 在 visual
28、C+中创建空项目 右击原文件添加新项-点击代码-填写文件名-ok。图 2-5 所示。图 2-5 在源文件中创建文件 进入编辑界面,开始进行程序编辑。如图 2-6 所示。沈阳工程学院课程设计报告 第二章 运行原理和环境- 8 -图 2-6 编辑界面沈阳工程学院课程设计报告 第三章 系统分析与设计- 9 -第三章 系统分析与设计3.1 火车票系统问题分析本任务要求实现火车售票系统,输入火车基本信息以及客户信息,并将其存入文件中。根据需要可以进行如下操作:列车基本信息管理、列车基本信息查询、订票管理、退票管理。其功能模块图,如图 3-1 所示 火车售票系统列车基本信息管理列车基本信息查询售 票管理退
29、票管理按车次查询按终点查询图 3-1 车票售票系统模块图沈阳工程学院课程设计报告 第三章 系统分析与设计- 10 -3.2 火车票系统功能设计 列车基本信息管理是在火车售票系统中输入列车的基本信息,是订票,退票,查询等操作的基础。其流程图如图3-2 所示。如图 3-2 所示沈阳工程学院课程设计报告 第三章 系统分析与设计- 11 - 列车基本信息查询方便旅客快速了解车次信息。其流程图如图3-3 所示。图 3-3 列车基本信息查询流程图沈阳工程学院课程设计报告 第三章 系统分析与设计- 12 - 订票管理是在原有的火车售票系统中查找到要订购的车票信息,如果有票,将该车票的 发车时间与现在的时间做
30、以比较,若车票的发车时间超过现在的时间,显示已发车;若超过现在的时间,则可以实现订票。其流程图如图 3-4 所示。 图 3-4 订票流程图沈阳工程学院课程设计报告 第三章 系统分析与设计- 13 - 退票管理是在原有的火车订票系统中查找到要退票的车票信息,将该车票的发车时间与 现在的时间做以比较,若车票的发车时间超过现在的时间,显示已发车,不能完成退票;若没超过现在的时间,则可以实现退票。其流程图如图 3-5 所示。图 3-5 退票流程图 有时候在火车售票系统中需要添加车次,其流程图如图3-6 所示。图 3-6 添加车次流程图沈阳工程学院课程设计报告 第三章 系统分析与设计- 14 - 在火车
31、售票系统中需要浏览车次信息,其流程图如图3-7 所示。图 3-7 浏览车次信息流程图沈阳工程学院课程设计报告 第四章系统功能实现 28第四章 系统功能实现4.1 火车售票系统算法思想对于火车售票系统,两个客户名单可分别有线性表和队列实现。为查找方便,以订票客户已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条路线的情况登录在一张线性表上,由于路线基本不变,可采用顺序存储结构,并按车次有序或按终点站名有序。每条路线是这张表上的一个记录,包含上述 8 个域,其中乘员名单域为指向乘员名单链表的头指针,等候
32、替补的客户名单域为分别指向队头和队尾的指针。编辑用户使用菜单,内容包括:输入列班信息,保存列班信息,读取列班信息,查找列班信息,删除列班信息,订票信息,退票信息以及修改信息。4.2 系统程序代码 主函数是程序的入口,在主函数里声明变量int main() int sel; Busman BusAdmin; while (1) system(cls); ShowForm(); cinsel; switch (sel) case 1: BusAdmin.FoundInfo(); break; case 2: BusAdmin.AddInfo(); break; case 3: BusAdmin.S
33、howInfo(); break; case 4: BusAdmin.SearchInfo(); break; case 5: BusAdmin.SellTicket(); break; case 6: BusAdmin.ExitTicket(); break; case 7: BusAdmin.SaveInfo(); break; case 0: return 0; coutendl; fflush(stdin); cout按任意键返回主菜单:endl;沈阳工程学院课程设计报告 第四章系统功能实现 - 16 - getch(); 火车售票系统主菜单void ShowForm() cout 火
34、车票务系统 endl; cout=endl; cout= (1) 录入班次信息 =endl; cout= (2) 添加班次信息 =endl; cout= (3) 流览班次信息 =endl; cout= (4) 查询路线信息 =endl; cout= (5) 售票处理 =endl; cout= (6) 退票处理 =endl; cout= (7) 保存班次信息 =endl; cout= (0) 退出程序 =endl; cout=endl; cout输入要执行的选项:; 输入程序:该程序在主函数中需要完成的第一个任务是录入班次信息,如图 4-1 所示。void Busman:FoundInfo()
35、node *p=NULL,*q; int i,n; coutn 录入班次信息:n; coutn; for (i=0; in; i+) q=p; p=new node; coutp-Num; coutp-DepartTime; coutp-BegPlace;沈阳工程学院课程设计报告 第四章系统功能实现 - 17 - coutp-EndPlace; coutp-RunTime; coutp-Capacity; p-HumNum=0; if (Busman:BusHead=NULL) Busman:BusHead=p; else q-Next=p; coutNext=NULL; cout建立完毕!N
36、ext!=NULL) q=q-Next; p=new node; coutp-Num; coutp-DepartTime; coutp-BegPlace; coutp-EndPlace; coutp-RunTime; coutp-Capacity; p-HumNum=0; p-Next=NULL; q-Next=p; cout添加成功!endl; 沈阳工程学院课程设计报告 第四章系统功能实现 - 19 -图 4-2 添加班次信息 输入程序:该程序在主函数中需要完成的第三个任务是浏览班次信息,如图 4-3所示。 void Busman:ShowInfo() string time; node *
37、p; couttime; cout班次t发车时间 起点t终点 行车时间t客载量 订票人数发出Next) coutNumtDepartTimetBegPlacetEndPlacetRunTimetCapacitytHumNum; if (time = p-DepartTime) cout(已发车)endl; else cout(未发车)endl; 沈阳工程学院课程设计报告 第四章系统功能实现 - 20 -图 4-3 浏览班次信息 输入程序:该程序在主函数中需要完成的第四个任务是查询路线信息,如图 4-4 所示。void Busman:SearchInfo() int sel; string s;
38、 node *p; cout(1)班次查找endl; cout(2)终站查找endl; cout选择:; cinsel; if (sel=1) couts; else if (sel=2) 沈阳工程学院课程设计报告 第四章系统功能实现 - 21 - couts; cout班次t发车时间 起点t终点 行车时间t客载量 订票人数发出Next) if (sel=1 & p-Num=s) | (sel=2 & p-EndPlace=s) coutNumtDepartTimetBegPlacetEndPlacetRunTimetCapacitytHumNum; break; if (p=
39、NULL) cout未找到!endl; 图 4-4 查询路线信息沈阳工程学院课程设计报告 第四章系统功能实现 - 22 - 输入程序:该程序在主函数中需要完成的第五个任务是售票处理信息,如图 4.5 所示 void Busman:SellTicket() string t,s; node *p; couts; for (p=BusHead; p!=NULL; p=p-Next) if (p-Num=s) break; if (p=NULL) cout未找到班次!endl; return; coutt; if (t DepartTime & p-HumNum+1 Capacity) p-
40、HumNum+; cout售票成功!endl; else cout该车已发或客载量已满!endl; 沈阳工程学院课程设计报告 第四章系统功能实现 - 23 -图 4-5 售票处理信息 输入程序:该程序在主函数中需要完成的第六个任务是退票处理信息,如图 4-6所示。 void Busman:ExitTicket() string s,t; node *p; couts; for (p=BusHead; p!=NULL; p=p-Next) if (p-Num=s) break; if (p=NULL) cout未找到班次!endl; return; coutt; if (t DepartTime
41、)沈阳工程学院课程设计报告 第四章系统功能实现 - 24 - p-HumNum-; cout退票成功!endl; 图 4-6 退票处理信息 输入程序:该程序在主函数中需要完成的第七个任务是保存列车班次信息,如图 4-7 所示。 void Busman:SaveInfo() node *p; ofstream Ocout(Info.txt); Ocout班次t发车时间 起点t终点 行车时间t客载量 订票人数发出Next) OcoutNumtDepartTimetBegPlacetEndPlacetRunTimetCapacitytHumNumendl; Ocout.close(); cout保存
42、成功!endl; 沈阳工程学院课程设计报告 第四章系统功能实现 - 25 - 图 4-7 保存班次信息沈阳工程学院课程设计报告 总结- 26 -总 结紧张的两周数据结构课程设计很快过去了,通过这周的学习使我巩固了以前的知识并在此基础上对数据结构的特点和算法有了更深的了解,数据结构是计算机程序设计的重要理论技术基础,它不仅是计算机科学的核心课程,而且已经成为其他理工专业的热门选修课。在计算机的研究和应用中已展现出强大的生命力,它兼顾了诸多高级语言的特点,是一种典型的结构化程序设计语言,它处理能力强,使用灵活方便,应用面广,具有良好的可移植性,同时这两周的学习也提高了我适应实际,实践编程的能力。
43、数据结构定义了诸多抽象数据类型。如:栈、队列,串等。这些存储结构在分析问题解决问题时发挥了重要的作用。就我选的其中一题目而言,在分析问题时栈起了关键性的作用。汉诺塔问题是典型的递归问题。语句看似简单,但是如果不借助栈来分析问题,实属不易。经过了几天的努力,数据结构课程设计这项任务终于完成。在这几天里,克服了重重困难,从一头雾水到渐渐思路变得相对清晰明了。虽然都说“程序数据结构算法” ,但我在学习运用数据结构编程之前,并没能深刻体会到这一点,直到这次课程设计实践。我感受最深的一点是:以前用 C 编程,只是注重如何编写函数能够完成所需要的功能,似乎没有明确的战术,只是凭单纯的意识和简单的语句来堆砌
44、出一段程序。感觉有点像张飞打仗,有勇无谋,只要能完成任务就行。但现在编程感觉完全不同了。在编写一个程序之前,自己能够综合考虑各种因素,首先选取自己需要的数据结构,是树还是图或是别的什么汉诺塔之类然后选定一种或几种存储结构来具体的决定后面的函数的主要风格。最后在编写每一个函数之前,可以仔细斟酌比对,挑选出最适合当前状况的算法。这样,即使在完整的程序还没有写出来之前,自己心中已经有了明确的原图了。这样无形中就提高了自己编写的程序的质量。另外,我还体会到深刻理解数据结构的重要性。只有真正理解这样定义数据类型的好处,才能用好这样一种数据结构。了解典型数据结构的性质是非常有用的,它往往是编写程序的关键。通过实际操作,学会分析问题,解决问题,开发了自己的逻辑思维能力。深刻体会到“没有做不到的,只有想不到的” , “团结就是力量” , “实践是检验真理的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版民间个人借款有担保人的合同范例
- 二零二五版债券质押担保借款合同
- 房屋租赁合同的担保抵押书
- 按揭贷款申请与合同签署流程
- 电力设备安装工程劳务分包合同
- 惠州学院教师培训合同书
- 房屋定金支付合同范本
- 大型商场标识标牌采购项目合同
- 度通风系统工程合同
- 租赁合同模板:民间简易版
- 牧原应聘笔试试题及答案
- 2025年新版供电营业规则考试题库
- 【初中语文】第11课《山地回忆》课件+2024-2025学年统编版语文七年级下册
- 华为创业成功案例分析
- 2025年事业编畜牧笔试试题及答案
- 排水工程监理细则
- 新教科版一年级科学下册第一单元第6课《哪个流动得快》课件
- 2025年新人教PEP版英语三年级下册全册课时练习
- 2025-2030年中国固晶机行业运行动态及投资发展前景预测报告
- 河道清淤工程施工组织设计方案
- 2025年上半年福建厦门市翔发集团限公司招聘13人易考易错模拟试题(共500题)试卷后附参考答案
评论
0/150
提交评论