地铁站售票系统.docx

上传人:b****6 文档编号:13452948 上传时间:2023-06-14 格式:DOCX 页数:23 大小:92.03KB
下载 相关 举报
地铁站售票系统.docx_第1页
第1页 / 共23页
地铁站售票系统.docx_第2页
第2页 / 共23页
地铁站售票系统.docx_第3页
第3页 / 共23页
地铁站售票系统.docx_第4页
第4页 / 共23页
地铁站售票系统.docx_第5页
第5页 / 共23页
地铁站售票系统.docx_第6页
第6页 / 共23页
地铁站售票系统.docx_第7页
第7页 / 共23页
地铁站售票系统.docx_第8页
第8页 / 共23页
地铁站售票系统.docx_第9页
第9页 / 共23页
地铁站售票系统.docx_第10页
第10页 / 共23页
地铁站售票系统.docx_第11页
第11页 / 共23页
地铁站售票系统.docx_第12页
第12页 / 共23页
地铁站售票系统.docx_第13页
第13页 / 共23页
地铁站售票系统.docx_第14页
第14页 / 共23页
地铁站售票系统.docx_第15页
第15页 / 共23页
地铁站售票系统.docx_第16页
第16页 / 共23页
地铁站售票系统.docx_第17页
第17页 / 共23页
地铁站售票系统.docx_第18页
第18页 / 共23页
地铁站售票系统.docx_第19页
第19页 / 共23页
地铁站售票系统.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

地铁站售票系统.docx

《地铁站售票系统.docx》由会员分享,可在线阅读,更多相关《地铁站售票系统.docx(23页珍藏版)》请在冰点文库上搜索。

地铁站售票系统.docx

地铁站售票系统

 

仲恺农业技术学院

课程设计

 

课程设计题目地铁站售票系统

 

姓名白崇亮

院(系)计算机科学与工程学院

专业班级计算机科学与技术052班

学号15号

指导教师李晟

职称讲师

设计日期2006年12月28日

 

仲恺农业技术学院教务处制

 

一、需求分析:

……………………………3

二、概要设计:

……………………………3~5

三、详细设计:

……………………………6~17

四、调试分析:

……………………………17~18

五、用户说明:

……………………………18

六、课程设计总结:

……………………………19~20

 

地铁站售票系统课程设计

 

一、需求分析:

该地铁站售票管理系统由三个模块构成:

分别是进入系统,完成系统相关的功能以及退出系统。

相关功能包含了查找到每个站需要的金额,输出你要到达的站应付的价钱,输入买票的数量,输入金额,输出找回余额等功能。

方便了乘客们购买车票,当你在相应的购票机上输进你需要到达的车站,再输入你需要购买车票的数量,该系统会提示你需要输进的金额,当你输进的钱过多会给你找回余额,当你输入的钱不够会提示你补回相应的金额。

最后该机器会给你车票上车。

欢迎再为你服务!

现在由于时间的限制,暂时只能实现这些功能。

以后我会一边学习一边完善这个系统。

希望我以后做出一个给现在车站所用的系统更完善,更使用。

这样让市民更加方便。

我现在有很多知识不会,希望老师和同学们多多指教,跟大家共同学习。

二、概要设计(数据结构设计,软件结构设计.流程图设计)

数据结构设计

该地铁站售票系统我运用了整形数据在内存中的存放形式以及运用switch语句来调用函数。

这种做法既简单又易明白以后希望同学们能够好好地把握它的用法。

在程序中我也运用了if语句,有了这个语句更容易实现这个程序

2、软件结构设计:

a、软件构架

 

 

b、模块之间的关系

 

“功能选择”这个框架分为下面六个模块,各模块之间的关系可用下表表示:

 

 

程序流程图

 

 

 

该程序的算法

#include""

#include""

voidchangshoulu();

voidchenjiaci(intc);

voidximenkou(intc);

voidgongyuanqian(intc);

voidnongjiangsuo(intc);

voidlieshilingyuan(intc);

voidyangji(intc);

voidtiyuxilu(intc);

voidtiyuzhongxin(intc);

voidguangzhoudongzhan(intc);

voidmain()

{intj;

printf("*********Hello,Welcometo地铁售票系统******\n");

printf("公元前欢迎你!

\n");

printf("===================================================\n");

printf("--------?

?

1.长寿路?

?

--------\n");

printf("--------?

?

2.公元前?

?

--------\n");

printf("--------?

?

3.农讲所?

?

--------\n");

printf("--------?

?

4.烈士陵园?

?

--------\n");

printf("--------?

?

5.杨箕?

?

--------\n");

printf("--------?

?

6.体育西路?

?

--------\n");

printf("--------?

?

7.体育中心?

?

--------\n");

printf("--------?

?

8.广州东站?

?

--------\n");

printf("9.退出\n");

printf("====================================================\n");

printf("选择你要到的站的编号以回车结束\n\n");

do{

scanf("%d",&j);

switch(j)

{case1:

/*调用该站的结构功能模块*/

gongyuanqian(j);break;

case2:

/*调用该站的结构功能模块*/

nongjiangsuo(j);break;

case3:

/*调用该站的结构功能模块*/

lieshilingyuan(j);break;

case4:

/*调用该站的结构功能模块*/

yangji(j);break;

case5:

/*调用该站的结构功能模块*/

tiyuxilu(j);break;

case6:

/*调用该站的结构功能模块*/

tiyuzhongxin(j);break;

case7:

/*调用该站的结构功能模块*/

guangzhoudongzhan(j);break;

case8:

break;

}}

while(j!

=0);/*结束*/

printf("谢谢\n");

}/*主函数结束*/

voidxilang()

{printf("长寿路\n");

printf("--------------------------------------------------------\n");

printf("Hello!

此站是你第一站,长寿路站\n");

printf("按需使用,请选择功能号码\n");

printf("谢谢合作\n");

}voidgongyuanqian(intc)

{inti=0,a=0,sum=4,m[200],total=0,bu=0,change=0,cheque=0,x=1,b=9;

sum=(b-x)/3+2;

printf("公元前站\n");

printf("--------------------------------------------------------\n");

printf("每张票应付的金额:

%d元\n",sum);printf("请输入你要购买的数量:

\n",c);

scanf("%d",&c);

total=sum*c;

printf("你应支付的金额:

%d\n",total);

printf("------------------------------------------------------\n");

printf("本机只收取的硬币,五元,十元及二十元的纸币,请按键输入金额\n");

printf("------------------------------------------------------\n");

printf("硬币一元请按1,五元请按5,十元请按10,二十元请按20,然后按2结束:

\n");

for(i=0;i<200;i++)

{scanf("%d",&m[i]);

if(!

(m[i]==1||m[i]==5||m[i]==0||m[i]==20||m[i]==2))

{printf("对不起:

不能接受这类型金额,请重新输入.\n");

continue;/*若条件不符合就跳出循环*/

}if(m[i]==2)break;/*退出语句*/

}for(a=0;a<200;a++)

{if(m[a]==1)/*为输入的金额*/

{cheque=cheque+1;/*应付的金额*/

continue;

}elseif(m[a]==5)/*为输入的金额*/

{cheque=cheque+5;/*应付的金额*/

continue;

}elseif(m[a]==0)/*为输入的金额*/

{cheque=cheque+10;/*应付的金额*/

continue;

}elseif(m[a]==20)/*为输入的金额*/

{cheque=cheque+20;/*应付的金额*/

continue;

}elseif(m[a]==2)break;/*退出界面*/

}if(cheque

{do/*应用了循环*/

{printf("对不起!

你金额不足!

请补回:

%d\n",bu=total-cheque);/*算出应退补价钱*/

scanf("%d",&bu);

cheque+=bu;

}while(cheque

change=cheque-total;/*计算出跳出循环体之后的应找的价钱*/

}else

change=cheque-total;

if(change==0)/*判断如果不需要找钱就输出下面语句*/

printf("loading...请取票,欢迎再为服务\n");

else/*判断如果需要找钱就计算出该找的钱数*/

printf("loading......找回余额:

%d\n",change);

printf("请取票,欢迎再为你服务bye*^_^*bye\n");

}voidnongjiangsuo(intc)/*基本与以上的“公元前站”函数模块相同*/

{inti=0,a=0,sum=5,m[200],total=0,bu=0,change=0,cheque=0,x=1,b=10;

sum=(b-x)/3+2;

printf("农讲所站\n");

printf("--------------------------------------------------------\n");

printf("每张票应付金额:

%d元\n",sum);printf("请输入你要购买的数量:

\n",c);

scanf("%d",&c);

total=sum*c;

printf("你应支付的金额是:

%d\n",total);

printf("------------------------------------------------------\n");

printf("本机只收取的硬币,五元,十元及二十元的纸币,请按键输入金额\n");

printf("------------------------------------------------------\n");

printf("硬币一元请按1,五元请按5,十元请按10,二十元请按20,然后按2结束:

\n");

for(i=0;i<200;i++)

{scanf("%d",&m[i]);

if(!

(m[i]==1||m[i]==5||m[i]==0||m[i]==20||m[i]==2))

{printf("对不起:

不能接受这类型金额,请重新输入.\n");

continue;

}if(m[i]==2)break;

}for(a=0;a<200;a++)

{if(m[a]==1)

{cheque=cheque+1;

continue;

}elseif(m[a]==5)

{cheque=cheque+5;

continue;

}elseif(m[a]==0)

{cheque=cheque+10;

continue;

}elseif(m[a]==20)

{cheque=cheque+20;

continue;

}elseif(m[a]==2)break;

}if(cheque

{do

{printf("对不起!

你的金额不足!

请补回:

%d\n",bu=total-cheque);

scanf("%d",&bu);

cheque+=bu;

}while(cheque

change=cheque-total;

}else

change=cheque-total;

if(change==0)

printf("loading...请取票,欢迎再为服务\n");

else

printf("loading.....找回余额:

%d\n",change);

printf("请取票,欢迎再为你服务\n");

}voidlieshilingyuan(intc)

{inti=0,a=0,sum=5,m[200],total=0,bu=0,change=0,cheque=0,x=1,b=11;

sum=(b-x)/3+2;

printf("烈士陵园站\n");

printf("--------------------------------------------------------\n");

printf("每张票应付金额:

%d元\n",sum);printf("请输入你要购买的数量:

\n",c);

scanf("%d",&c);

total=sum*c;

printf("你应支付的金额是:

%d\n",total);

printf("------------------------------------------------------\n");

printf("本机只收取的硬币,五元,十元及二十元的纸币,请按键输入金额\n");

printf("------------------------------------------------------\n");

printf("硬币一元请按1,五元请按5,十元请按10,二十元请按20,然后按2结束:

\n");

for(i=0;i<200;i++)

{scanf("%d",&m[i]);

if(!

(m[i]==1||m[i]==5||m[i]==0||m[i]==20||m[i]==2))

{printf("对不起:

不能接受这类型金额,请重新输入.\n");

continue;

}if(m[i]==2)break;

}for(a=0;a<200;a++)

{if(m[a]==1)

{cheque=cheque+1;

continue;

}elseif(m[a]==5)

{cheque=cheque+5;

continue;

}elseif(m[a]==0)

{cheque=cheque+10;

continue;

}elseif(m[a]==20)

{cheque=cheque+20;

continue;

}elseif(m[a]==2)break;

}if(cheque

{do

{printf("对不起!

你的金额不足!

请补回:

%d\n",bu=total-cheque);

scanf("%d",&bu);

cheque+=bu;

}while(cheque

change=cheque-total;

}else

change=cheque-total;

if(change==0)

printf("loading...?

?

è?

?

±,?

?

ó-?

ù?

a?

?

·t?

?

bye*^_^*bye\n");

else

printf("loading...?

ò?

?

óà?

?

:

%d\n",change);

printf("?

?

è?

?

±,?

?

ó-?

ù?

a?

?

·t?

?

bye*^_^*bye\n");

}

voidyangji(intc)

{inti=0,a=0,sum=5,m[200],total=0,bu=0,change=0,cheque=0,x=1,b=12;

sum=(b-x)/3+2;

printf("杨箕\n");

printf("--------------------------------------------------------\n");

printf("每张票应付的金额:

%d元\n",sum);printf("请输入你要购买的数量:

\n",c);

scanf("%d",&c);

total=sum*c;

printf("你应支付的金额:

%d\n",total);

printf("------------------------------------------------------\n");

printf("本机只收取的硬币,五元,十元及二十元的纸币,请按键输入金额\n");

printf("------------------------------------------------------\n");

printf("硬币一元请按1,五元请按5,十元请按10,二十元请按20,然后按2结束:

\n");

for(i=0;i<200;i++)

{scanf("%d",&m[i]);

if(!

(m[i]==1||m[i]==5||m[i]==0||m[i]==20||m[i]==2))

{printf("对不起:

不能接受这类型金额,请重新输入.\n");

continue;

}if(m[i]==2)break;

}for(a=0;a<200;a++)

{if(m[a]==1)

{cheque=cheque+1;

continue;

}elseif(m[a]==5)

{cheque=cheque+5;

continue;

}elseif(m[a]==0)

{cheque=cheque+10;

continue;

}elseif(m[a]==20)

{cheque=cheque+20;

continue;

}elseif(m[a]==2)break;

}if(cheque

{do

{printf("对不起!

你的金额不足!

请补回:

%d\n",bu=total-cheque);

scanf("%d",&bu);

cheque+=bu;

}while(cheque

change=cheque-total;

}else

change=cheque-total;

if(change==0)

printf("loading...请取票,欢迎再为服务\n");

else

printf("loading......找回余额:

%d\n",change);

printf("请取票,欢迎再为你服务bye*^_^*bye\n");

}voidtiyuxilu(intc)

{inti=0,a=0,sum=6,m[200],total=0,bu=0,change=0,cheque=0,x=1,b=13;

sum=(b-x)/3+2;

printf("体育西路站\n");

printf("--------------------------------------------------------\n");

printf("每张票应付的金额:

%d元\n",sum);printf("请输入你要购买的数量:

\n",c);

scanf("%d",&c);

total=sum*c;

printf("你应支付的金额:

%d\n",total);

printf("------------------------------------------------------\n");

printf("本机只收取的硬币,五元,十元及二十元的纸币,请按键输入金额\n");

printf("------------------------------------------------------\n");

printf("硬币一元请按1,五元请按5,十元请按10,二十元请按20,然后按2结束:

\n");

for(i=0;i<200;i++)

{scanf("%d",&m[i]);

if(!

(m[i]==1||m[i]==5||m[i]==0||m[i]==20||m[i]==2))

{printf("对不起:

不能接受这类型金额,请重新输入.\n");

continue;

}if(m[i]==2)break;

}for(a=0;a<200;a++)

{if(m[a]==1)

{cheque=cheque+1;

continue;

}elseif(m[a]==5)

{cheque=cheque+5;

continue;

}elseif(m[a]==0)

{cheque=cheque+10;

continue;

}elseif(m[a]==20)

{cheque=cheque+20;

continue;

}elseif(m[a]==2)break;

}if(cheque

{do

{printf("对不起!

你的金额不足!

请补回:

%d\n",bu=total-cheque);

scanf("%d",&bu);

cheque+=bu;

}while(cheque

change=cheque-total;

}else

change=cheque-total;

if(change==0)

printf("loading...请取票,欢迎再为服务\n");

else

printf("loading......找回余额:

%d\n",change);

printf("请取票,欢迎再为你服务bye*^_^*bye\n");

}voidtiyuzhongxin(intc)

{inti=0,a=0,sum=6,m[200],total=0,bu=0,change=0,cheque=0,x=1,b=14;

sum=(b-x)/3+2;

printf("体育中心站\n");

printf("--------------------------------------------------------\n");

printf("每张票应付的金额:

%d元\n",sum);printf("请输入你要购买的数量:

\n",c);

scanf("%d",&c);

total=sum*c;

printf("你应支付的金额:

%d\n",total);

printf("------------------------------------------------------\n");

printf("本机只收取的硬币,五元,十元及二十元的纸币,请按键输入金额\n");

printf("------------------------------------------------------\n");

printf("硬币一元请按1,五元请按5,十元请按10,二十元请按20,然后按2结束:

\n");

for(i=0;i<200;i++)

{scanf("%d",&m[i]);

if(!

(m[i]==1||m[i]==5||m[i]==0||m[i]==20||m[i]==2))

{printf("对不起:

不能接受这类型金额,请重新输入.\n");

continue;

}if(m[i]==2)break;

}for(a=0;a<200;a++)

{if(m[a]==1)

{cheque=cheque+1;

continue;

}elseif(m[a]==5)

{cheque=cheque+5;

continu

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2