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

下载本文档

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

文档简介

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

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

3、;(4) 完成类中各个成员函数的定义;(5 )完成系统的应用模块;(6) 功能调试;(7) 提交课程设计报告:完成系统总结报告以及系统使用说明书目录目录4.第一章 需求分析 6.第二章总体设计.7.第三章 bus类的设计 .9.第四章详细设计104.1工程视图104.2类图视图114.3函数的调用关系 124.4主程序流程图144.5主要算法的流程图 15第五章测试18第六章总结21附录:程序代码22第一章需求分析以文件操作为基础,完成对数据信息的相关操作。要求设计类(或类模板)来描述集合,包含必要的构造函数和析构函数,以 及其他能够完成如下功能的成员函数:文件的输入和输出查询文件中的元素、数

4、据对文件中进行插入、删除元素实现文件元素的并、交、差运算并设计主函数测试该类。设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和法);(4)完成类中各个成员函数的定义;(5 )完成系统的应用模块;(6) 功能调试;(7) 提交课程设计报告:完成系统总结报告以及系统使用说明书第二章总体设计系统功能包括:录入线路信息,显示所有路线信息,删除路线,站站查询(输入起始站和终点站,查询经过两站的路线)。第三章bus类的设计bus类的设计:class bus函数成员

5、:public:void save(); 录入信息void showall(); 显示所有公交路线void searchroute();根据起始站和终点站查询路线void del();删除站点void sort();/排序数据成员private:int route,stati on ,price;stri ng start;stri ng end;stri ng pass30;对bus类的说明:由于本系统设计初衷为的是管理公交系统,所以利用C+语言来编写系统时,来设计一个bus类来管理公交线路信息,bus类中包含5个成员函数,他 们分别或共同来实现主程序中的4个功能:1. void save(

6、)和void sort()共同完成信息的录入功能。2. void showall()来完成信息的屏幕输出功能。3. void searchroute() 来完成站点的无序查询功能。第四章详细设计4.1工程视图倒工惟区公交维富胥理索纺的设申:1工程 a S 交践棒骨理柔统的设i十files-_j Source FilesM公交嵯爲音理系统的设计丄卩卩_| Header FilzI Resource F計4.2类图视图品公交零鬲爾奈统餉设讦訂扁&頁- bdelO searchroutcQ showallOsortQ end pass piicx roule start矽 station -Bfbr

7、? bu&ond* buspass Q busprice7 bu&start bummtHion-Global? mainQ4 menuQ4.3函数的调用关系mai n()主程序排序 void sort()删除站点voiddel()排序voidsort()显示所有公交路线voidshowall()根据起始站和终点站查询路线voidsearchroute()清屏 I4.4主程序流程图算法:主程序主要用运了 switch结构,使得主程序更加便的调用成员函数, 各个成员函数间的关系也清晰明了。4.5主要算法的流程图开始操作,将文件写入到磁盘中的c1.txt1L信息输入1!保存成功是结束录入返叵主界开

8、始算法:此函数用运了 ofstream文显示保存的线路信息结束返回主界面开始算法:此函数用运ifstream函数读取文本文件的容,然后将其显示到屏幕上。算法:此函数先通过ifstream 函数读取 c1.txt的容,然后修改之在通过ofstream 函数将修改过的数据存入c1.txt中。算法:此函数先读取 c1.txt中 容,然后通过for循环找出符合条 件的线路,最后将线路输出到屏幕。1.王界面:第五章测试D:应用拥ghiibgoft vswl StudiQM)-PrQjeasSsBw.rrDebug2交和 当舸圧 间:Finn Jun 23 23:4b:34 2UL4JtXJIXJK JC

9、JKJCKM氈 Jf JOCJHMi BCM KKXW 弭:同 KXM: JtXJI JCPtHJC-KM十茜交线K管理系统-Jt死 JhMJKXJCK HC*耳WTtKTfHHH MH屛 HI! 1 * 耳 JtX JI J ML息线信路纸石r-荷片赊站已 12 3 4 52.输入路线信息:在主界面输入1,进入“输入路线信息”功能,按提示依次输入“线路”、“全程站点”、“起始站”、“终点站”、“票价”、“途经站点”,中间用空格隔开,回车,则结束输入。保存成功后提示是否再次输入,丫则继续输入,N则结束到主界面。9 ;应用软件itrcwft Vina I S gdiSMy円ojecu1总咬疑痒背

10、富系琳假计Det)ug公丸揭B起丄!白菩3.显示所有路线信息:在主界面时,输入2,显示所有路线信息4 删除路线:在主界面时,输入3,进入删除界面,输入要删除的线路的序号,回车结束。并提示是否输入新线路,丫则继续输入,N则结束到主界面。J 0应閘软WMicTQRft Visual 5tud说MlyPgje1*1公交泉卑首老系阳3rg计gbug噬交炭匿予=:12旅社= 2R公园pi公匾I 提:44闕人需要的删除的路线序号= 岂删隊成功!请间建否录入新的路绪信息?邑头站旅社包头站八一公匠包百九星包百二蔺士包头姑包百恰特n.否包头站包头站包头站包钢三中料技大学私技大学华联包钢拄校包百00:81:24

11、2014-M-公交线2猜理系统线序 入一八床站出 输显型遛 - 1 2 3 4 SM MM5.站站查询:在主界面,输入4,进入查询界面。然后按照提示输入要查询的两个站点,回车结束,结果如下:第六章总结这次课程设计花费了将近30天时间,在这期间我第一次体验到编程的困难, 但在程序顺利运行出结果时也体验到了很大的成就感,这种成就感让我兴奋不 已。这次经历给我感触最深的地就是,注重细节。在刚阅读完课程设计任务书的 时候,我只粗略想了一下总体设计,感觉可以轻松完成任务。但在接下来的几十 天中,我才感受到什么叫做细节决定成败。就在写第一个函数时,我就遇到了不小的麻烦。看似不长的几十行代码,写 起来却十分

12、费力。中间不容有一点儿大意,一点小小的错误会浪费很多的时间去 寻找与改错。而调试更是花了两的时间,期间不断地发现错误,不断地改正错误, 在这样的过程中收获也是很多的。虽然写代码过程中遇到数不尽的难题, 但在同学的启发与老师的帮助下。我 终于克服重重困难完成了设计,这是我自己努力付出的结果,也有同学和老师的 热心帮助的回报,没有他们的帮助,我没有信心能够写出完整的程序。 这是一次 难得的历练,它让我认识到编程不尽需要丰富的只是和经验,更需要认真仔细的 态度去面对。附录:程序代码#in clude#in clude#in clude#in clude#in cludevoid menu();usi

13、ng n amespace std;class buspublic:void save(); 录入信息void showall();显示所有公交路线void searchroute();根据起始站和终点站查询路线void del();删除站点void sort();/ 排序private:int route,station,price;string start;stri ng end;stri ng pass30;II 录入路线信息void bus:save()stri ng pass30,busstart,buse nd;int busroute,busstation,busprice,i;

14、char x;ofstream outfile(c1.txt,ios:app);II-打开文件-if(!outfile)cerr ope n errore ndl;exit(1);/=按照提示录入路线信息=docout=e ndl;cout 线路 全程站点起始站 终点站 票价途经站点 busroute;route=busroute;if(route=0) break;outfileleftsetw(10) busstatio n;stati on=busstati on;outfileleftsetw(10) busstart;start=busstart;outfileleftsetw(10

15、) buse nd;end=busend;outfileleftsetw(10) busprice;price=busprice;outfileleftsetw(10)price;for(i=0;i30,i passi; outfileleftsetw(10)passi;outfiler n;cout路线信息已成功保存!e ndl;cout 是否继续录入路线信息:e ndl;couty.是n.否 x;while(x=y|x=Y);outfile.close();/=关闭文件=sort();/ 对站点信息进行排序 struct fbrstri ng buspass30,busstart,buse

16、 nd;int busstation,busprice;void bus:sort()struct fbr fbr2100;int busroute100,i,j;ifstream in file(c1.txt,ios:i n);if(!i nfile)cerr Open error fbr2i.busstartfbr2i.buse ndfbr2i.busprice)for( j=0;jfbr2i.buspassj;if(fbr2i.buspassj=fbr2i.buse nd)break;for(i nt m=0;mi_1;m+)int br=m,br2;struct fbr fbr3;fo

17、r(i nt n=m+1; nbusroute n)br= n;if(m!=br)br2=busroutem;busroutem=busroutebr;busroutebr=br2;fbr3=fbr2m;fbr2m=fbr2br;fbr2br=fbr3;in file.close();ofstream outfile(c1.txt,ios:out);if(!outfile)cerr Open errore ndl;exit(1);for(int ii=0;iii;ii+)route=busrouteii; outfileleftsetw(10)route;stati on=fbr2ii.bus

18、stati on;outfileleftsetw(10)stati on;start=fbr2ii.busstart;outfileleftsetw(10)start;en d=fbr2ii.buse nd;outfileleftsetw(10)e nd;price=fbr2ii.busprice;outfileleftsetw(10)price;for(i nt kl=0;kl30,klstatio n;kl+)passkl=fbr2ii.buspasskl; outfileleftsetw(10)passkl;outfiler n;cout完成! ! endl;outfile.close(

19、);II 显示所有路线void bus:showall()string buspass,busstart,busend,str;ifstream in file(c1.txt,ios:i n);if(!i nfile)cerr 0pe n errore ndl;exit(1);途经站点cout路线全程站点起始站 终点站 票价e ndl;while(getli ne(i nfile,str)cout=e ndl;coutstre ndl;cout=e ndl;in file.close();/ 站站查询void bus:searchroute()system(cls);bool flag=tru

20、e;string pass30,start,end,ch1,ch2,a,b,str;int stati on ,price;ifstream in file(c1.txt,ios:i n);if(!i nfile)cerr ope n errore ndl;/fope nexit(1);cout=e ndl;cout=起始站=e ndl;cout=” ch1;cout=”e ndl;cout= ch2;while(i nfileroutestati on starte ndprice)for(i nt i=0;ipassi;if(passi=ch1)a=passi;if(passi=ch2)b

21、=passi;if(passi=e nd)if(a=ch1 &b=ch2)coutendlendl;途经cout路线 全程站点 起始站 终点站 票价站点endl;coute ndlIIendl;coutroutestati onstarte ndpricefor(i nt j=O;j=i;j+)coutpassj; if(j!=i)cout-; flag=false;coute ndl*e ndl;coutcoutbreak;请乘坐route 路车!endl;*e ndl;a=O;b=O: getli ne(i nfile,str);if(flag)cout 系统未收录此站点e ndl;in file.close();void bus:del()stri ng str1OO; int k,i=1,a=1; char l;string start100,end100,pass100;ifstream in file(c1.txt,ios:i n);if(!i nfile)cerr ope n errore ndl;exit(1);while(getl in e(i nfile,stra)cout序号:ae ndl;coutstrae ndl;a+;e ndl;cout请输入需要的删除的路线序号:cink;in fi

温馨提示

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

评论

0/150

提交评论