停车场管理系统C语言Word下载.docx

上传人:b****5 文档编号:19756075 上传时间:2023-01-09 格式:DOCX 页数:14 大小:293.70KB
下载 相关 举报
停车场管理系统C语言Word下载.docx_第1页
第1页 / 共14页
停车场管理系统C语言Word下载.docx_第2页
第2页 / 共14页
停车场管理系统C语言Word下载.docx_第3页
第3页 / 共14页
停车场管理系统C语言Word下载.docx_第4页
第4页 / 共14页
停车场管理系统C语言Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

停车场管理系统C语言Word下载.docx

《停车场管理系统C语言Word下载.docx》由会员分享,可在线阅读,更多相关《停车场管理系统C语言Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

停车场管理系统C语言Word下载.docx

图2-1系统功能模块图

根据模块图可画出总的流程图(图2-2)

图2-2总流程图

三、详细设计

1、车辆信息

车辆信息包括车牌号、层号、车位号、停车时间,将这四类数据组合成结构体car,以便于引用。

【程序】

structcar

{

intcarnumber;

intfloor;

intposition;

inttime;

}car[12];

2、车位信息

由于停车场有两层,每层六个车位,故车位信息可由一个二维数组park[2][6]表示,注意停车场中已经停放了4辆车,设这四辆车的车牌号为6840,4167,3548,9201。

intpark[2][6]={6840,4167,3548,9201,0,0,0,0,0,0,0,0};

car[0].carnumber=6840;

car[0].floor=1;

car[0].position=1;

car[0].time=20;

car[1].carnumber=4167;

car[1].floor=1;

car[1].position=2;

car[1].time=15;

car[2].carnumber=3548;

car[2].floor=1;

car[2].position=3;

car[2].time=10;

car[3].carnumber=9201;

car[3].floor=1;

car[3].position=4;

car[3].time=5;

3、主菜单

共包括四项功能:

for(;

;

{

printf("

\n\n*********************主菜单*********************\n\n"

);

请输入数字键:

\n"

1.停车\n"

2.取车\n"

3.车辆信息浏览\n"

4.退出\n\n"

************************************************\n\n"

scanf("

%c"

&

a);

4、各功能模块设计

(1)停车模块

【需求分析】

题目要求必须在一层停满的情况下才能在第二层停车,因此可以利用for语句保证先将第一层停满,设置停车时间为5分钟并将原有车辆的停车时间加5分钟。

进行分析时先打开文件检查停车车牌号,若打开文件操作出错则提示不能执行。

停车模块流程图如图3-1所示。

图3-1停车模块流程图

if(a=='

1'

{

printf("

\n请输入车牌号:

"

scanf("

%d"

car[i].carnumber);

for(j=0;

j<

2;

++j)

{

for(k=0;

k<

6;

++k)

{

if(park[j][k]==0)

{

park[j][k]=car[i].carnumber;

break;

}

}

if(park[j][k]==car[i].carnumber)break;

}

car[i].floor=j+1;

car[i].position=k+1;

car[i].time=5;

for(j=0;

i;

car[j].time=car[j].time+5;

if((fp=fopen("

car.dat"

"

w"

))==NULL)

printf("

cannotopenthisfile\n"

exit(0);

i+1;

fprintf(fp,"

car[%d].carnumber=%d\ncar[%d].floor=%d\ncar[%d].position=%d\ncar[%d].time=%d\n"

j,car[j].carnumber,car[j].floor,car[j].position,car[j].time);

fclose(fp);

printf("

\n停车成功!

++i;

}

(2)取车模块

首先输入所取车辆的车牌号,若与车库中所停车辆相符,则取车成功。

之后根据用户的选择判断是否需要显示停车费用,此功能可用if条件语句实现。

若需要,按每5分钟0.2元算出金额并显示出来。

取车后须将该车停车纪录从文件中删除。

若输入的车牌号与车库中所停车辆不符,则应给予提示。

取车模块流程图如图3-2所示。

图3-2取车模块流程图

elseif(a=='

2'

charb;

carNO);

if(carNO==car[j].carnumber)

\n是否输出停车费用?

(Y/N)"

scanf("

b);

if(b=='

Y'

{

fee=car[j].time/5.0*0.2;

printf("

车牌号:

%d停车费:

carNO);

%f元\n欢迎下次光临!

fee);

}

elseif(b=='

N'

printf("

\n欢迎下次光临!

else

\n输入错误!

park[j/6][j%6]=0;

if((fp=fopen("

))==NULL)

exit(0);

for(k=0;

j;

fprintf(fp,"

k,car[k].carnumber,car[k].floor,car[k].position,car[k].time);

for(++k;

fclose(fp);

if(j==i)

\n\n"

elsecontinue;

(3)车辆信息浏览模块

该模块的功能是显示所有学生的纪录信息。

其流程图如图3-3所示。

图3-3车辆信息浏览模块流程图

elseif(a=='

3'

\n停车场所有车辆信息如下:

车牌号层号车位号停车时间\n"

if(park[j][k]!

=0)

%d%d%d%d\n"

car[j*6+k].carnumber,car[j*6+k].floor,car[j*6+k].position,car[j*6+k].time);

elsecontinue;

if((fp=fopen("

exit(0);

}

(4)退出模块

4'

)break;

四、运行结果

(1)主菜单:

效果如图4-1所示。

图4-1主菜单

(2)停车模块

输入”1”按下”enter”键进入停车操作,如图4-2所示。

图4-2停车模块

根据提示输入车牌号按下”enter”键,如图4-3所示。

图4-3输入车牌号

根据需要再停入两辆车,如图4-4、4-5所示。

图4-4停入第二辆车

图4-5停入第三辆车

(3)取车模块

输入”2”按下”enter”键进入取车操作,如图4-6所示。

图4-6取车模块

根据提示输入车牌号,如图4-7所示。

图4-7输入车牌号

根据提示输入”Y”,如图4-8所示。

图4-8输出停车费

输入”3”按下”enter”键进入车辆信息浏览模块,如图4-9所示。

图4-9车辆信息浏览模块

输入”4”按下”enter”键退出系统,如图4-10所示。

图4-10退出系统

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

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1