公交线路管理系统的设计Word文档下载推荐.docx
- 文档编号:14904523
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:24
- 大小:305.47KB
公交线路管理系统的设计Word文档下载推荐.docx
《公交线路管理系统的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《公交线路管理系统的设计Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
二、设计资料及参数
用C++设计一个系统,能提供下列服务:
(1)录入公交信息,格式为:
线路
全程站点
起始
终点
途经
票价
1
10
包头火车站
恰特
内科大,技校,云龙,包钢三中,科隆,八一公园,包百,包钢招待所
可增加线路数据。
(2)浏览线路信息,可显示出所有公交线路,按照线路编号由小到大排序。
(3)修改路线:
可按线路编号查询,可按起始站,终点站查询后进行修改。
(4)线路查询。
输入当前所在站点和要去的站点,找到应乘坐的公交线路,如输入起点=八一公园,到站=内科大,查找后应输出“请乘坐1路公交车”,有多个查找结果时,按照线路编号由小到大输出。
三、设计要求及成果
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)提交课程设计报告:
完成系统总结报告以及系统使用说明书
第一章需求分析
以文件操作为基础,完成对数据信息的相关操作。
要求设计类(或类模板)来描述集合,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数:
文件的输入和输出
查询文件中的元素、数据
对文件中进行插入、删除元素
实现文件元素的并、交、差运算
并设计主函数测试该类。
设计要求及成果
第二章总体设计
系统功能包括:
录入线路信息,显示所有路线信息,删除路线,站站查询(输入起始站和终点站,查询经过两站的路线)。
第三章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()来完成站点的无序查询功能。
第四章详细设计
4.1工程视图
4.2类图视图
4.3函数的调用关系
4.4主程序流程图
算法:
主程序主要用运了switch结构,使得主程序更加方便的调用成员函数,各个成员函数间的关系也清晰明了。
4.5主要算法的流程图
算法:
此函数用运了ofstream文件
操作,将文件写入到磁盘中的c1.txt中。
算法:
此函数用运ifstream函数读取文本文件的内容,然后将其显示到屏幕上。
算法:
此函数先通过ifstream函数读取c1.txt中的内容,然后修改之在通过ofstream函数将修改过的数据存入c1.txt中。
此函数先读取c1.txt中内容,然后通过for循环找出符合条件的线路,最后将线路输出到屏幕。
第五章测试
1.主界面:
2.输入路线信息:
在主界面输入1,进入“输入路线信息”功能,按提示依次输入“线路”、“全程站点”、“起始站”、“终点站”、“票价”、“途经站点”,中间用空格隔开,回车,则结束输入。
保存成功后提示是否再次输入,Y则继续输入,N则结束到主界面。
3.显示所有路线信息:
在主界面时,输入2,显示所有路线信息。
4.删除路线:
在主界面时,输入3,进入删除界面,输入要删除的线路的序号,回车结束。
并提示是否输入新线路,Y则继续输入,N则结束到主界面。
5.站站查询:
在主界面,输入4,进入查询界面。
然后按照提示输入要查询的两个站点,回车结束,结果如下:
第六章总结
这次课程设计花费了将近30天时间,在这期间我第一次体验到编程的困难,但在程序顺利运行出结果时也体验到了很大的成就感,这种成就感让我兴奋不已。
这次经历给我感触最深的地方就是,注重细节。
在刚阅读完课程设计任务书的时候,我只粗略想了一下总体设计,感觉可以轻松完成任务。
但在接下来的几十天中,我才感受到什么叫做细节决定成败。
就在写第一个函数时,我就遇到了不小的麻烦。
看似不长的几十行代码,写起来却十分费力。
中间不容有一点儿大意,一点小小的错误会浪费很多的时间去寻找与改错。
而调试更是花了两周的时间,期间不断地发现错误,不断地改正错误,在这样的过程中收获也是很多的。
虽然写代码过程中遇到数不尽的难题,但在同学的启发与老师的帮助下。
我终于克服重重困难完成了设计,这是我自己努力付出的结果,也有同学和老师的热心帮助的回报,没有他们的帮助,我没有信心能够写出完整的程序。
这是一次难得的历练,它让我认识到编程不尽需要丰富的只是和经验,更需要认真仔细的态度去面对。
附录:
程序代码
#include<
iostream>
fstream>
string>
iomanip>
ctime>
voidmenu();
usingnamespacestd;
//排序
};
//-------------录入路线信息---------------
voidbus:
:
save()
stringpass[30],busstart,busend;
intbusroute,busstation,busprice,i;
charx;
ofstreamoutfile("
c1.txt"
ios:
app);
//----打开文件----
if(!
outfile)
{
cerr<
<
"
openerror"
endl;
exit
(1);
}
//==========按照提示录入路线信息==========
do{
cout<
============================================================"
线路"
全程站点"
起始站"
终点站"
票价"
途经站点"
cin>
>
busroute;
route=busroute;
if(route==0)
{break;
outfile<
left<
setw(10)<
route;
busstation;
station=busstation;
station;
busstart;
start=busstart;
start;
busend;
end=busend;
end;
busprice;
price=busprice;
price;
for(i=0;
i<
30,i<
i++)
{
cin>
pass[i];
outfile<
}
\r\n"
;
路线信息已成功保存!
是否继续录入路线信息:
y.是n.否"
x;
}while(x=='
y'
||x=='
Y'
);
outfile.close();
//=========关闭文件==========
sort();
//---------------对站点信息进行排序--------------
structfbr
stringbuspass[30],busstart,busend;
intbusstation,busprice;
sort()
structfbrfbr2[100];
intbusroute[100],i,j;
ifstreaminfile("
in);
infile)
Openerror"
i=0;
j=0;
while(infile>
busroute[i]>
fbr2[i].busstation>
fbr2[i].busstart>
fbr2[i].busend>
fbr2[i].busprice)
for(j=0;
j<
30;
j++)
{
infile>
fbr2[i].buspa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公交线路 管理 系统 设计