停车场管理系统1讲解Word文档下载推荐.docx
- 文档编号:22914491
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:17
- 大小:58.69KB
停车场管理系统1讲解Word文档下载推荐.docx
《停车场管理系统1讲解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《停车场管理系统1讲解Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
停车场所停车辆的全部信息的输出,借助函数Information()来实现。
4、退出,该模块主要实现:
用户完成所有操作后,退出系统。
三、系统的设计与实现
(一)停车场管理系统基本功能浏览:
instruction()
分析:
首先输出表头,然后依次输出操作信息。
流程图如图1所示。
图1:
instruction()流程图
该模块的具体代码如下所示。
voidInstruction()
printf("
*******************************\n"
);
停车场管理系统使用说明:
\n"
printf("
停车请输入1,取车请输入2\n"
查看全部车辆的信息请输入3,退出请输入0\n"
}/*初始化停车信息,初始状态为第一层已停5辆车,停车时间依次为25,20,15,10,5*/
(二)停车场管理系统停车功能浏览:
park()
输入所停车辆的车牌号,如果第一层还有空车位,就输出此车可停的具体位置。
如果第一层已满,接着检查第二层是否有空车位,如有,则输出具体位置,如果一,二层都没有空位,则输出没有空位不能停车的信息。
gar[1][i].state==1111
流程图如2:
图2
voidpark(structGaragegar[][6])
{inti;
charnum[8];
请输入车牌号:
"
scanf("
%s"
num);
for(i=0;
i<
6;
i++)
{if(gar[0][i].state==1)
{printf("
第一层第%d号位空着,请在此处停车\n"
i+1);
strcpy(gar[0][i].number,num);
车牌号:
%s层号:
1车位号:
%d\n"
num,i+1);
AddTime(gar);
/*在此之前的所有车的停车时间加5*/
gar[0][i].state=2;
/*该车位已经停车*/
gar[0][i].time=5;
/*将时间设为5*/
return;
}
第一层已经没有空车位\n"
{
if(gar[1][i].state==1)
{printf("
第二层第%d号车位空着,请在此处停车\n"
strcpy(gar[1][i].number,num);
gar[1][i].state=2;
gar[1][i].time=5;
对不起,12层都没有空车位,您现在不能在此处停车\n"
(三)停车场管理系统取车功能的浏览leave()
输入你所取车辆的车牌号,如果停车场有匹配的车辆,则输出该车辆所停的具体位置,并根据5分钟0.2元的价格输出该车的停车费用。
如果停车场中没有匹配的车辆,就会输出提醒客户没有他要找的车辆的信息。
流程图如图3
结束
图3
doubleLeave(structGaragegar[2][6])
inti,j;
charnum[8];
doublecharge=0;
请输入要取的车牌号:
scanf("
for(i=0;
2;
{
for(j=0;
j<
j++)
{if(!
strcmp(gar[i][j].number,num))
您在%d层%d车位停车%d分钟\n"
gar[i][j].lay,gar[i][j].garagenum,gar[i][j].time);
charge=gar[i][j].time/5*0.2;
printf("
停车费用为每5分钟0.2元,您需要交%.2lf元\n"
charge);
gar[i][j].state=1;
returncharge;
}
}
没有你输入的车号.\n\n"
returncharge;
/*是否查看停车场的收入*/
voidIsPrintTotal(doubletotal)
charch;
是否查看停车场总计?
Y/N"
scanf("
%c"
&
ch);
while(ch!
='
y'
&
&
ch!
Y'
n'
N'
)
{
请输入Y或N"
switch(ch)
case'
:
printf("
停车总计为%.2lf元\n"
total);
break;
case'
break;
(四)停车场管理系统信息查询功能浏览information()
利用循环语句依次检查停车场的停车情况,找出已满的车位,并输出该车所停的层数,车位数,车牌号,以及所停的时间。
流程图如图4
图4
voidInformation(structGaragegar[][6])
车牌号层号车位号停车时间\n"
if(gar[i][j].state==2)
%s%8d%8d%8d\n"
gar[i][j].number,gar[i][j].lay,gar[i][j].garagenum,gar[i][j].time);
四、系统测试
(一)测试main_instruction函数
图5main_instruction函数
(二)测试main_park函数
图6main_park函数
(三)测试main_leave函数
图7main_leave函数
(四)测试main_information函数
图7main_information函数
五、总结
通过这次实习,我对小程序的编写有了一个初步的掌握,对很多的函数有了新的认识,也学会了运用多种函数,也对编写软件的基本过程和基本方法有了一个大致的了解。
编写这个软件的过程中,函数的多次调用使我对函数调用这块知识有了更深的了解。
在这次作业中,我受益匪浅。
在软件设计过程中我遇到了许多困难。
在一次次的函数调用失败后,我对自己没有了信心,想过抄袭,也想过放弃。
这道题目,只有我一个人在做,没有同伴和我一起讨论,解决疑难,自己的基础又很薄弱,突然有种手足无措的感觉。
尤其是题目的要求,我没办法达到。
但几天下来,看到其他同学在那么努力地设计着他们的题目,我也选择了继续挑战自己。
抽时间对函数调用,数组,循环等几个知识点进行了复习,然后努力加工自己的设计。
经过好几天的努力,我总算完成了自己的设计。
通过这次程序设计,我发现自己对C语言学的是一塌糊涂,今后,我会努力弥补自己的知识漏洞缺陷,努力学习来巩固完善自己的知识面。
六、附件(代码,测试图)
#include<
stdio.h>
string.h>
stdlib.h>
#defineSIZE8
structGarage
charnumber[8];
/*车牌号*/
intlay;
/*层号*/
intgaragenum;
/*车位号*/
inttime;
/*停车时间*/
intstate;
/*1表示该车位空,2表示车位有车*/
}Gar[SIZE];
voidsave()
FILE*fp;
inti;
if((fp=fopen("
gar.dat"
"
rb"
))==NULL)
文件不能打开\n"
return;
SIZE;
if(fwrite(&
Gar[i],sizeof(structGarage),1,fp)!
=1)
文件写入错误\n"
fclose(fp);
{printf("
-------------------------------------------\n"
<
停车场管理系统设计>
>
\n"
}/*初始化停车信息,初始状态为第一层已停5辆车,停车时间依次为25,20,15,10,5*/
voidInit(structGaragegar[][6])
/*给所有的层号,车位号初始化,停车时间初始化为0,停车位全初始化为空*/
for(j=0;
gar[i][j].lay=i+1;
gar[i][j].garagenum=j+i;
gar[i][j].time=0;
gar[i][j].state=1;
/*第一层的1~4号位停车*/
4;
gar[0][i].state=0;
strcpy(gar[0][0].number,"
#444"
/*初始化的车牌号*/
gar[0][0].time=25;
strcpy(gar[0][1].number,"
#000"
gar[0][0].time=20;
strcpy(gar[0][2].number,"
#111"
gar[0][1].time=15;
strcpy(gar[0][3].number,"
#222"
gar[0][2].time=10;
strcpy(gar[0][4].number,"
#333"
gar[0][3].time=5;
/*新停入车后将在此之前的所有车的停车时间加5*/
voidAddTime(structGaragegar[][6])
{for(j=0;
{if(gar[i][j].state==2)
{gar[i][j].time+=5;
/*停车*/
/*查看所有的停车信息*/
/*取车*/
main()
intoperate;
doubletotal=0;
structGaragegar[2][6];
Init(gar);
/*初始化第一层已经停的4辆车*/
while
(1)
{Instruction();
请输入要进行的操作:
%d"
operate);
while(operate<
0||operate>
3)
输入的数不合法,请重新输入:
switch(operate)
case1:
park(gar);
case2:
total+=Leave(gar);
IsPrintTotal(total);
case3:
Information(gar);
case0:
exit(0);
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 停车场 管理 系统 讲解