您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 公交线路管理系统的设计
《C++程序设计》课程设计说明书题目公交线路管理系统的设计姓名贺英杰班级软件13-1班指导教师周李涌日期2014年6月23日内蒙古科技大学1内蒙古科技大学课程设计任务书课程名称C++语言课程设计设计题目公交线路管理系统的设计指导教师周李涌时间2014春学期第18、19周一、教学要求1.巩固和加深学生对C++语言课程的基本知识的理解和掌握2.掌握C++语言编程和程序调试的基本技能3.利用C++语言进行基本的软件设计4.掌握书写程序设计说明文档的能力5.提高运用C++语言解决实际问题的能力二、设计资料及参数用C++设计一个系统,能提供下列服务:(1)录入公交信息,格式为:线路全程站点起始终点途经票价110包头火车站恰特内科大,技校,云龙,包钢三中,科隆,八一公园,包百,包钢招待所1可增加线路数据。(2)浏览线路信息,可显示出所有公交线路,按照线路编号由小到大排序。(3)修改路线:可按线路编号查询,可按起始站,终点站查询后进行修改。(4)线路查询。输入当前所在站点和要去的站点,找到应乘坐的公交线路,如输入起点=八一公园,到站=内科大,查找后应输出“请乘坐1路公交车”,有多个查找结果时,按照线路编号由小到大输出。三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)提交课程设计报告:完成系统总结报告以及系统使用说明书内蒙古科技大学2目录目录..................................................................................................................................................2第一章需求分析.............................................................................................................................3第二章总体设计.............................................................................................................................4第三章bus类的设计......................................................................................................................5第四章详细设计.............................................................................................................................64.1工程视图.............................................................................................................................64.2类图视图.............................................................................................................................64.3函数的调用关系.................................................................................................................74.4主程序流程图.....................................................................................................................84.5主要算法的流程图.............................................................................................................8第五章测试...................................................................................................................................10第六章总结...................................................................................................................................14附录:程序代码.............................................................................................................................15内蒙古科技大学3第一章需求分析以文件操作为基础,完成对数据信息的相关操作。要求设计类(或类模板)来描述集合,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数:文件的输入和输出查询文件中的元素、数据对文件中进行插入、删除元素实现文件元素的并、交、差运算并设计主函数测试该类。设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)提交课程设计报告:完成系统总结报告以及系统使用说明书内蒙古科技大学4第二章总体设计系统功能包括:录入线路信息,显示所有路线信息,删除路线,站站查询(输入起始站和终点站,查询经过两站的路线)。系统功能输入路线信息显示所有路线删除路线站站查询乱序输入则按正序录入乱序输入则按正序输出整线删除后重新录入并正序录入任意两站查询并显示提示内蒙古科技大学5第三章bus类的设计bus类的设计:classbus{函数成员:public:voidsave();//录入信息voidshowall();//显示所有公交路线voidsearchroute();//根据起始站和终点站查询路线voiddel();//删除站点voidsort();//排序数据成员private:introute,station,price;stringstart;stringend;stringpass[30];}对bus类的说明:由于本系统设计初衷为的是管理公交系统,所以利用C++语言来编写系统时,来设计一个bus类来管理公交线路信息,bus类中包含5个成员函数,他们分别或共同来实现主程序中的4个功能:1.voidsave()和voidsort()共同完成信息的录入功能。2.voidshowall()来完成信息的屏幕输出功能。3.voidsearchroute()来完成站点的无序查询功能。内蒙古科技大学6第四章详细设计4.1工程视图4.2类图视图内蒙古科技大学74.3函数的调用关系main()主程序显示菜单menu()输入信息Save()清屏根据起始站和终点站查询路线voidsearchroute()显示所有公交路线voidshowall()删除站点voiddel()排序voidsort()排序voidsort()内蒙古科技大学84.4主程序流程图算法:主程序主要用运了switch结构,使得主程序更加方便的调用成员函数,各个成员函数间的关系也清晰明了。4.5主要算法的流程图算法:此函数用运了ofstream文件操作,将文件写入到磁盘中的c1.txt中。是否开始输入与功能相对应的序号执行功能结束是否存在开始信息输入保存成功是否是否继续录入内蒙古科技大学9算法:此函数用运ifstream函数读取文本文件的内容,然后将其显示到屏幕上。算法:此函数先通过ifstream函数读取c1.txt中的内容,然后修改之在通过ofstream函数将修改过的数据存入c1.txt中。否是输入删除输入要删除的线路开始是否正确输入函数结束结束录入返回主界面开始显示保存的线路信息结束返回主界面开始内蒙古科技大学10算法:此函数先读取c1.txt中内容,然后通过for循环找出符合条件的线路,最后将线路输出到屏幕。第五章测试1.主界面:是否输入数据开始是否正确执行并显示结果结束内蒙古科技大学112.输入路线信息:在主界面输入1,进入“输入路线信息”功能,按提示依次输入“线路”、“全程站点”、“起始站”、“终点站”、“票价”、“途经站点”,中间用空格隔开,回车,则结束输入。保存成功后提示是否再次输入,Y则继续输入,N则结束到主界面。3.显示所有路线信息:在主界面时,输入2,显示所有路线信息。内蒙古科技大学124.删除路线:在主界面时,输入3,进入删除界面,输入要删除的线路的序号,回车结束。并提示是否输入新线路,Y则继续输入,N则结束到主界面。内蒙古科技大学135.站站查询:在主界面,输入4,进入查询界面。然后按照提示输入要查询的两个站点,回车结束,结果如下:内蒙古科技大学14第六章总结这次课程设计花费了将近30天时间,在这期间我第一次体验到编程的困难,但在程序顺利运行出结果时也体验到了很大的成就感,这种成就感让我兴奋不已。这次经历给我感触最深的地方就是,注重细节。在刚阅读完课程设计任务书的时候,我只粗略想了一下总体设计,感觉可以轻松完成任务。但在接下来的几十天中,我才感受到什么叫做细节决定成败。就在写第一个函数时,我就遇到了不小的麻烦。看似不长的几十行代码,写起来却十分费力。中间不容有一点儿大意,一点小小的错误会浪费很多的时间去寻找与改错。而调试更是花了两周的时间,期间不断地发现错误,不断地改正错误,在这样的过程中收获也是很多的。虽然写代码过程中遇到数不尽的难题,但在同学的启发与老师的帮助下。我终于克服重重困难完成了设计,这是我自己努力付出的结果,也有同学和老师的热心帮助的回报,没有他们的帮助,我没有信心能够写出完整的程序。这是一次难得的历练,它让我认识到编程不尽需要丰富的只是和经验,更需要认真仔细的态度去面对。内蒙古科技大学15附录:程序代码#includeiostream#includefstream#includestring#includeiomanip#includectimevoidmenu();usingnamespacestd;classbus{public:voidsave();//录入信息voidshowall();//显示所有公交路线voidsearchroute();//根据起始站和终点站查询路线voiddel();//删除站点voidsort();//排序private:introute,station,price;stringstart;stringend;stringpass[30];};//-------------录入路线信息---------------voidbus::save(){stringpass[30],busstart,busen
本文标题:公交线路管理系统的设计
链接地址:https://www.777doc.com/doc-5436462 .html