公交线路管理系统的设计_第1页
公交线路管理系统的设计_第2页
公交线路管理系统的设计_第3页
公交线路管理系统的设计_第4页
公交线路管理系统的设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2424C+程序设计课程设计说明书题目公交线路管理系统的设计姓名贺英杰班级软件13-1班指导教师周李涌日期2014年6月23日内蒙古科技大学课程设计任务书课程名称C+语言课程设计设计题目公交线路管理系统的设计指导教师周李涌时间2014春学期第18、19周一、教学要求巩固和加深学生对C+语言课程的基本知识的理解和掌握掌握C+语言编程和程序调试的基本技能利用C+语言进行基本的软件设计掌握书写程序设计说明文档的能力提高运用C+语言解决实际问题的能力二、设计资料及参数用C+设计一个系统,能提供下列服务:(1)录入公交信息,格式为:线路全程站点起始终占八、途经票价110包头火车站恰特内科大,技校,云龙,

2、包钢三中,科隆,八一公园,包百,包钢招待所1可增加线路数据。(2)浏览线路信息,可显示出所有公交线路,按照线路编号由小到大排序。(3)修改路线:可按线路编号查询,可按起始站,终点站查询后进行修改。(4)线路查询。输入当前所在站点和要去的站点,找到应乘坐的公交线路,如输入起点=八一公园,到站=内科大,查找后应输出“请乘坐1路公交车”有多个查找结果时,按照线路编号由小到大输出。三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成

3、员函数的定义;完成系统的应用模块;功能调试;提交课程设计报告:完成系统总结报告以及系统使用说明书目录目录2第一章需求分析3第二章总体设计4TOC o 1-5 h z HYPERLINK l bookmark10 第三章bus类的设计5 HYPERLINK l bookmark12 第四章详细设计64.1工程视图64.2类图视图64.3函数的调用关系7 HYPERLINK l bookmark16 4.4主程序流程图8 HYPERLINK l bookmark14 4.5主要算法的流程图8 HYPERLINK l bookmark18 第五章测试10 HYPERLINK l bookmark28

4、 第六章总结14 HYPERLINK l bookmark30 附录:程序代码15第一章需求分析以文件操作为基础,完成对数据信息的相关操作。要求设计类(或类模板)来描述集合,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数:文件的输入和输出查询文件中的元素、数据对文件中进行插入、删除元素实现文件元素的并、交、差运算并设计主函数测试该类。设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系

5、统的应用模块;(6)功能调试;(7)提交课程设计报告:完成系统总结报告以及系统使用说明书第二章总体设计系统功能包括:录入线路信息,显示所有路线信息,删除路线,站站查询(输入起始站和终点站,查询经过两站的路线)。第三章bus类的设计bus类的设计classbus函数成员:public:voidsave();录入信息voidshowall();显示所有公交路线voidsearchroute();根据起始站和终点站查询路线voiddel();删除站点voidsort();排序数据成员private:introute,station,price;stringstart;stringend;string

6、pass30;对bus类的说明:由于本系统设计初衷为的是管理公交系统,所以利用C+语言来编写系统时,来设计一个bus类来管理公交线路信息,bus类中包含5个成员函数,他们分别或共同来实现主程序中的4个功能:voidsave()和voidsort()共同完成信息的录入功能。voidshowall()来完成信息的屏幕输出功能。voidsearchroute()来完成站点的无序查询功能。第四章详细设计4.1工程视图倒工作区公交绣路管理垂统的设计:1工程-品公交鏡歸管理系统的设itfiles-_jSourceFiles国公交塗爲皆理系统的设讣上叩_|HeaderFiles_|ResourceFiles

7、4.2类图视图-5M公交裁萱理系殛设讦classes-1busdelQsaveQsearchrouteQshowallQsortQ总end土qpass4priceIroutedstartstation-弋仙识busend住buspass訥buspricembusstart诸busstation-GlobalsmainQmenuQ否24244.3函数的调用关系显示菜单menu()删除站点排序v4.4主程序流程图算法:主程序主要用运了switch结构,使得主程序更加方便的调用成员函数各个成员函数间的关系也清晰明了。4.5主要算法的流程图开始的c1.txt中算法:此函数用运了ofstream文件操作

8、,将文件写入到磁盘中信息输入保存成功r结束录入T返回主界J显示保存的线路ifstream函卄fz后将结束结束;返回主算法:此函数用运数读取文本文件的内容,然其显示到屏幕上。算法:此函数先通过ifstream函数读取c1.txt中的内容,然后修改之在通过ofstream函数将修改过的数据存入c1.txt中。2424算法:此函数先读取c1.txt中内否容,然后通过for循环找出符合条件的线路,最后将线路输出到屏幕。第五章测试1.主界面:回-、D:讪用蛛件icrosoftViiuaIStudioMyProjectw谬衣我If苜理影淞计ugi浹戋凰”1_巳2.输入路线信息:在主界面输入1,进入“输入路

9、线信息”功能,按提示依次输入“线路”、“全程站点”、“起始站”、“终点站”、“票价”、“途经站点”,中间用空格隔开,回车则结束输入。保存成功后提示是否再次输入,Y则继续输入,N则结束到主界面。3.显示所有路线信息:在主界面时,输入2,显示所有路线信息。起始站终点茹票途经站点14二旅社包头站二旅社1包次站八一仝云包帀岂头站包钢二中华麻13G包次齧二旅社1包头站科技大学包钢技校八一公国包百二葩社4删除路线:在主界面时,输入3,进入删除界面,输入要删除的线路的序号,回车结束并提示是否输入新线路,Y则继续输入,N则结束到主界面。包斗姑恰特需要的删除的路线序号:八一公园包头站包头站包头站八一公园包钢三中

10、牡技犬学华联包钢技校予=:4k包头站私技大学包百请问疋否录入新的般信息?当前日间;TucJun2406=01=2420i4二公交找腐管理系统二公交找腐管理系统12345A-八fe站M输品世辄5.站站查询:在主界面,输入4,进入查询界面。然后按照提示输入要查询的两个站点回车结束,结果如下:第六章总结这次课程设计花费了将近30天时间,在这期间我第一次体验到编程的困难,但在程序顺利运行出结果时也体验到了很大的成就感,这种成就感让我兴奋不已。这次经历给我感触最深的地方就是,注重细节。在刚阅读完课程设计任务书的时候,我只粗略想了一下总体设计,感觉可以轻松完成任务。但在接下来的几十天中,我才感受到什么叫做

11、细节决定成败。就在写第一个函数时,我就遇到了不小的麻烦。看似不长的几十行代码,写起来却十分费力。中间不容有一点儿大意,一点小小的错误会浪费很多的时间去寻找与改错。而调试更是花了两周的时间,期间不断地发现错误,不断地改正错误,在这样的过程中收获也是很多的。虽然写代码过程中遇到数不尽的难题,但在同学的启发与老师的帮助下。我终于克服重重困难完成了设计,这是我自己努力付出的结果,也有同学和老师的热心帮助的回报,没有他们的帮助,我没有信心能够写出完整的程序。这是一次难得的历练,它让我认识到编程不尽需要丰富的只是和经验,更需要认真仔细的态度去面对。outfileleftsetw(10)passi;24ou

12、tfileleftsetw(10)passi;24if(!outfile)24附录:程序代码#include#include#include#include#includevoidmenu();usingnamespacestd;classbuspublic:voidsave();录入信息voidshowall();显示所有公交路线voidsearchroute();根据起始站和终点站查询路线voiddel();删除站点voidsort();排序private:introute,station,price;stringstart;stringend;stringpass30;/录入路线信息vo

13、idbus:save()stringpass30,busstart,busend;intbusroute,busstation,busprice,i;charx;ofstreamoutfile(c1.txt,ios:app);/打开文件cerropenerrorendl;exit(1);/=按照提示录入路线信息=docout=endl;cout线路全程站点起始站终点站票价途经站点busroute;route=busroute;if(route=0)break;outfileleftsetw(10)busstation;station=busstation;outfileleftsetw(10)

14、busstart;start=busstart;outfileleftsetw(10)busend;end=busend;outfileleftsetw(10)busprice;price=busprice;outfileleftsetw(10)price;for(i=0;i30,ipassi;if(!outfile)24if(!outfile)2424outfilern;cout路线信息已成功保存!endl;cout是否继续录入路线信息:endl;couty.是n.否x;while(x=y|x=Y);outfile.close();/=关闭文件=sort();/对站点信息进行排序struct

15、fbrstringbuspass30,busstart,busend;intbusstation,busprice;voidbus:sort()structfbrfbr2100;intbusroute100,i,j;ifstreaminfile(c1.txt,ios:in);if(!infile)cerrOpenerrorbusrouteifbr2i.busstationfbr2i.busstartfbr2i.busendfbr2i.busprice)for(j=0;jfbr2i.buspassj;if(fbr2i.buspassj=fbr2i.busend)break;i+;for(intm

16、=0;mi-1;m+)intbr=m,br2;structfbrfbr3;for(intn=m+1;nbusrouten)br=n;if(m!=br)br2=busroutem;busroutem=busroutebr;busroutebr=br2;fbr3=fbr2m;fbr2m=fbr2br;fbr2br=fbr3;infile.close();ofstreamoutfile(c1.txt,ios:out);cout=endl;2424cerrOpenerrorendl;exit(1);for(intii=0;iii;ii+)route=busrouteii;outfileleftsetw

17、(10)route;station=fbr2ii.busstation;outfileleftsetw(10)station;start=fbr2ii.busstart;outfileleftsetw(10)start;end=fbr2ii.busend;outfileleftsetw(10)end;price=fbr2ii.busprice;outfileleftsetw(10)price;for(intkl=0;kl30,klstation;kl+)passkl=fbr2ii.buspasskl;outfileleftsetw(10)passkl;outfilern;cout完成!endl

18、;outfile.close();/显示所有路线voidbus:showall()stringbuspass,busstart,busend,str;ifstreaminfile(c1.txt,ios:in);if(!infile)cerr0penerrorendl;exit(1);cout路线全程站点起始站终点站票价途经站点endl;while(getline(infile,str)cout=endl;coutstrendl;cout=endl;infile.close();/站站查询voidbus:searchroute()system(cls);boolflag=true;stringp

19、ass30,start,end,ch1,ch2,a,b,str;intstation,price;ifstreaminfile(c1.txt,ios:in);if(!infile)cerropenerrorendl;/fopenexit(1);cout=endl;cout=起始站=ch1;cout=endl;cout=终点站=endl;cout=ch2;while(infileroutestationstartendprice)for(inti=0;ipassi;if(passi=ch1)a=passi;if(passi=ch2)b=passi;if(passi=end)if(a=ch1&b=

20、ch2)endl;coutendlfor(intj=0;j=i;j+)cout路线全程站点起始站终点站票价途经站点endl;coutendlendl;coutroutestationstartendIIprice;coutpassj;if(j!=i)cout-;flag=false;cout1.输入路线信息endl;2424coutstraendl;24cout请乘坐route路车!endl;cout*endl;break;a=0;b=0;getline(infile,str);if(flag)cout系统未收录此站点endl;infile.close();voidbus:del()stringstr100;intk,i=1,a=1;charl;stringstart100,end100,pass100;ifstreaminfile(c1.txt,ios:in);if(!infile)cerropenerrorendl;exit(1);while(getline(infile,stra)cout序号:aendl;a+;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论