C课程设计长途客运售票管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《C++程序设计》课程设计说明书题目长途客运售票管理系统的设计学号姓名指导教师日期内蒙古科技大学课程设计任务书课程名称面向对象程序设计A课程设计设计题目长途客运售票管理系统的设计指导教师时间一、教学要求1.巩固和加深学生对C++语言课程的基本知识的理解和掌握2.掌握C++语言编程和程序调试的基本技能3.利用C++语言进行基本的软件设计4.掌握书写程序设计说明文档的能力5.提高运用C++语言解决实际问题的能力二、设计资料及参数用C++设计一个系统,能提供下列服务:(1)录入车次信息,格式为:车次开车时间起始终点票价剩余座位22120:30包头北京31087可不定时地增加车次数据。(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班车已发出”的提示信息。(3)查询路线:可按车次编号查询,可按起始站,终点站查询(4)售票和退票功能A:查询车次编号或站点。当剩余座位数大于0,并且当前系统时间小于开车时间时才能售票,售票后自动更新剩余座位数。B:退票时,输入退票的车次,当本班车未发出时才能退票,退票后自动更新剩余座位数。三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)提交课程设计报告:完成系统总结报告以及系统使用说明书目录第1章需求分析......................................................................................................................错误!未指定书签。第2章总体设计......................................................................................................................错误!未指定书签。第3章类的设计......................................................................................................................错误!未指定书签。3.1×××类的设计................................................................................................................错误!未指定书签。3.2×××类的设计................................................................................................................错误!未指定书签。第4章详细设计......................................................................................................................错误!未指定书签。4.1工程视图.....................................................................................................................错误!未指定书签。4.2类图视图.....................................................................................................................错误!未指定书签。4.3函数的调用关系.........................................................................................................错误!未指定书签。4.4主程序流程图.............................................................................................................错误!未指定书签。4.5主要算法的流程图.....................................................................................................错误!未指定书签。第5章测试..............................................................................................................................错误!未指定书签。第6章总结..............................................................................................................................错误!未指定书签。附录:程序代码........................................................................................................................错误!未指定书签。第1章需求分析1.1设计资料及参数用C++设计一个系统,能提供下列服务:(1)录入车次信息,格式为:车次发车时间起始终点硬座票价剩余座位k26420:30包头北京110200可不定时地增加车次数据。(2)浏览车次信息,可显示出所有车次,如果当前系统时间超过了某车次的发车时间,则显示“此班列车已发出”的提示信息。(3)查询路线:可按车次编号查询,可按起始站,终点站查询(4)售票和退票功能A:查询车次或站点。当剩余座位数大于0,并且当前系统时间小于发车时间时才能售票,售票后自动更新剩余座位数。B:退票时,输入退票的车次,当本班列车未发出时才能退票,退票后自动更新剩余座位数。第2章总体设计2.1用结构框图表示各个功能之间的关系2.2将框图中系统的各个功能用文字详细的描述。1.铁路售票管理系统理解:系统中必须有车次信息,车次信息应该是由管理员录入,可由管理员或者乘客查看,定退票及其他操作。其中要注意的是录入信息必须是由管理员完成的,所以我会创建一个乘客类,然后创建管理员类继承乘客类,进而继承乘客的所有功能,并添加录入信息的功能。信息的载体可以使链表,也可以是数组,因为我更加熟悉数组,所以我用对象数组。(为了熟悉链表,课下自己还建立了以链表存放数据的系统)系统录入信息的操作非常枯燥,所以我创建了一个文件,把每次录入的信息保存入文件,在下一次进入系统是,它会默认读取文件原有的信息,当然也可以随时添加录入车次信息。然后系统的各个功能仅仅是通过查询找到具体对象的具体数据进行操作。2.基本功能:录入——次、始发站、终点站、开车时间(小时、分钟)、票价、剩余票数等信息。浏览车次——查看所有的录入车次其中开车时间小于当前时间的车次则输出车次已发出。查询车次——通过搜索车次或站点来快速的查看车辆的信息。定退票——车时间大于当前系统时间的前提下才可退票并且在票数大于零的前提下才可定票,票数更新。文件的存储——存储录入的车次信息以便下次访问。文件的读取——读取文件内的信息方便操作以上的各项功能;。第3章类的设计3.1service类的设计(第一个类)1.画出类图2.对类的函数成员的说明定义了一个service类,类中包括以下几部分:公有继承了user类私私有有段段::定定义义车车辆辆的的车车次次、、开开车车时时间间((小小时时、、分分钟钟))、、始始发发站站、、终终点点站站、、票票价价、、票票数数。。公公有有段段依次为输入函数、输出函数、定票函数、退票函数。添加设定信息函数。友元函数查询函数、浏览函数、文件存储函数、文件读取函数。添加输入函数。3.2user类的设计(第二个类)1.画出类图2.对类的函数成员的说明定义了一个user类,类中包括以下几部分:私私有有段段::定定义义车车辆辆的的车车次次、、开开车车时时间间((小小时时、、分分钟钟))、、始始发发站站、、终终点点站站、、票票价价、、票票数数。。公公有有段段依次为输出函数、定票函数、退票函数。友元函数查询函数、浏览函数、文件存储函数、文件读取函数。3.3全局变量,重要形式参数、局部变量等等,它们的命名及用途解释g-num:确定数组对象的个数,也是控制循环的条件。ticket[j]:代表具体的某个对象。A:bool型,判断使用者身份。B:bool型,判断是否退出程序。t:long型,获得当前距1970年秒数。pt:tm指向类的对象的指针,指向当前时间。Functionnumber:整型,选择功能。第4章详细设计4.1工程视图说明有几个源代码文件,可以截取工程文件视图表示4.2类图视图4.3主程序流程图4.4主要算法的流程图第5章测试5.1验证身份后登陆5.2录入信息并保存5.3验证身份5.4查询车次5.5查询子菜单5.6退、订票第6章总结课程设计旨在锻炼学生的实际动手能力和解决真实问题的能力。并在其中掌握和熟练所学的知识,并能够运用所学知识解决比较简单的现实模拟问题。在为期两周的C++课程设计中,我体会颇多,学到了很多东西。我加强了对C++程序设计这门课程的认识,并且复习了以前学到的知识。这些都使得我对计算机语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。课程设计,有些问题并不是只靠课本的哪些知识就可以轻易解决的。所以,它不仅锻炼了我们挑战自己的决心,学会用已掌握的知识去解决我们看似不能解决的问题,同时进一步培养了我们独立思考问题和解决问题的能力。特别是在C++中如何调试程序的方法。当然,老师的指导以及同学的帮助是不可忽视的,他们给了我提示和帮助,教会了我编译复杂程序的方法。虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得不管咋样来说,对我们学生都是一个挑战和锻炼。我很欣赏自己能在程序中加入自己的想法和有关程序的内容,将它进行一番改进,感觉收获很大。总之,这次的C++课程设计让我有了一些新的收获,让我对计算机语言有了更深体会,祝自己在以后的学习中更上一层楼。附录:程序代码#includeiostream#includeiomanip#includestdlib.h#includestring.h#includefstream#includectimeusingnamespacestd;constintN=10;boolA=false,B=true;longt=time(0);tm*pt=localtime(&t);voidmainmenu();structTime{inthour;intminute;};classuser{friendvoidsave();friendvoidsure_message();friendvoidbrowse();friendvoidticketmenu();friendvoidsearch_train();friendvoidsearch_station();protected:chartrain[10];Timetime;charstart_sta

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功