C课程设计地铁价格查询系统Word文档下载推荐.docx
- 文档编号:17758474
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:17
- 大小:205.39KB
C课程设计地铁价格查询系统Word文档下载推荐.docx
《C课程设计地铁价格查询系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C课程设计地铁价格查询系统Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
**************************************************************
**
*广州地铁一号线*
*____________________________________________________________*
*1111111111111111*
*0000000001111111*
*1234567890123456*
*西坑花芳黄长陈西公农烈东杨体体广*
*湖口地村沙寿家门园讲士山箕育育州*
*湾路祠口前所陵口西中东*
*园路心站*
*广州地铁二号线*
*22222222222222222222*
*00000000011111111112*
*12345678901234567890*
*琶新磨赤客鹭中晓江市海公纪越广三远广新江*
*洲港碟岗村江大港南二珠园念秀州元景州市夏*
*东沙西宫广前堂公火里体*
*场园车育*
*站馆*
**************************************************************
4.对输入数据的格式要求为:
只要输入数字就行了,可是输入的数字必需在101~106,201~220之间,否则输出错误提示,乘客需要继续输入,直到输入正确为止,输出结果后会有提示是否要继续。
5.该软件可以在TurboC/C++forWindows内测试。
b)概要设计
第一模块:
函数调用模块(分两种情况讨论):
第一种情况:
起点站和输出站都在同一号线
if(c/100==d/100)
{
a=max(c,d);
b=min(c,d);
j=a-b;
subway(j);
change_line(c,d);
name_passed_station(c,d);
}
起点站和终点站不在同一号线(又分两种情况):
(1)起点站在一号线,终点站在二号线在:
if(c<
200)
{
a=max(109,c)-min(109,c);
b=max(212,d)-min(212,d);
j=a+b;
subway(j);
change_line(c,d);
name_passed_station(c,d);
}
(2)起点站在二号线,终点站在一号线:
else
a=max(212,c)-min(212,c);
b=max(109,d)-min(109,d);
change_line(c,d);
name_passed_station(c,d);
第二模块:
函数定义模块
把起点站序号跟终点站序号比较,取出较少着:
intmin(intc,intd)
{
intz;
if(c>
d)
z=d;
else
z=c;
return(z);
}
把起点站跟终点站比较,取出较大者:
intmax(intc,intd)
输出所要的费用:
voidsubway(intj)
{
switch(j)
{
case0:
printf("
Sorry,你已经在本站,不用再乘座了。
Thanks!
^_^\n"
);
break;
case1:
case2:
case3:
收费2元,Thanks!
case4:
case5:
case6:
收费3元,Thanks!
case7:
case8:
case9:
收费4元,Thanks!
case10:
case11:
case12:
收费5元,Thanks!
case13:
case14:
case15:
收费6元,Thanks!
case16:
case17:
case18:
收费7元,Thanks!
case19:
case20:
收费8元,Thands!
}
该函数检查是否需要转线
voidchange_line(intc,intd)
if(c/100==d/100)
不需要转线,可直达^_^\n"
请注意:
要到公园前站转线\n"
输出途径的站名,分两种情况:
情况一:
不需要转线
(1)起点站和终点站都在一号线
if(c/100==1&
&
d/100==1)
for(i=c%100;
i<
=d%100;
i++)
switch(i)
{
case1:
西湖\t"
case2:
坑口\t"
case3:
花地湾\t"
case4:
芳村\t"
case5:
黄沙\t"
case6:
长寿路\t"
case7:
陈家祠\t"
case8:
西门口\t"
case9:
公园前\t"
case10:
农讲所\t"
case11:
烈士陵园\t"
case12:
东山口\t"
case13:
杨箕\t"
case14:
体育西路\t"
case15:
体育中心\t"
case16:
广州东站\t"
}
}
(2)起点站和终点站都在二号线
if(c/100==2&
d/100==2)
琶洲\t"
新港东\t"
磨碟沙\t"
赤岗\t"
客村\t"
鹭江\t"
中大\t"
晓港\t"
江南西\t"
市儿宫\t"
海珠广场\t"
纪念堂\t"
越秀公园\t"
广州火车站\t"
三元里\t"
case17:
远景\t"
case18:
广州体育馆\t"
case19:
新市\t"
case20:
江夏\t"
}
情况二:
需要转线——分四种情况
(1)起点站和终点站都是在公园前站前面
if(c<
=109&
d<
=212&
d>
=201)
for(i=c%10;
=9;
for(j=d%100;
j<
=11;
j++)
switch(j)
}}
(2)起点站在公园前站前面,而终点站在公园前站后面
=212)
for(j=13;
switch(j)
}
(3)起点站在公园前站后面,终点站在前面
if(c>
=201)
for(i=9;
=c%100;
case9:
case10:
case11:
case12:
case13:
case14:
case15:
case16:
for(j=d%100;
(4)起点站和终点站都在公园前站后面
=212){
d%100;
}}
c)详细设计
附图:
d)调试分析
界面显示为:
若输入正确,即在101~116和201~220范围内,则输出:
若输入范围不在101~116和201~220,则输出错误提示:
若要继续查询,则按“Y”,清除之前的记录,重新执行;
若要停止,则按“N”,输出:
五.总结:
在课程设计过程中,我意识到原来编一个程序不是那么简单的,还要考虑到很多问题,比如:
你所编的程序有什么功能,主要有什么用途,软件有什么开发潜能等,还有软件有什么改进的思想。
虽然有难度,可是我觉得很有挑战性,在程序的设计过程中,我还加深了对C语言数据结构的认识,真的使我受益菲浅。
因为C语言知识不是那么好,所以所用的结构都是比较简单的,如只用到for,while,switch等语句,不过对于我来说算是可以的了,会比较适合我自己的难度^_^。
在编译过程中也遇到难题,因为考虑到转站问题,要分开多种情况来讨论,有时单单用for语句难以实现,不过经过多次的调试,终于解决了问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 地铁 价格 查询 系统