停车场管理系统设计样本Word格式.docx
- 文档编号:15099779
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:46
- 大小:243.04KB
停车场管理系统设计样本Word格式.docx
《停车场管理系统设计样本Word格式.docx》由会员分享,可在线阅读,更多相关《停车场管理系统设计样本Word格式.docx(46页珍藏版)》请在冰豆网上搜索。
(1)需求分析
(2)界面设计
(3)添加功能
(4)显示功能
(5)查询功能
(6)编辑功能
(7)删除功能
(8)记录功能
(9)保存功能
(10)读取功能
通过小构成员讨论,并依照个人特长和详细兴趣做如下详细分工:
神1详细完毕如下模块设计与实现:
(1)需求分析
(2)界面设计
(3)添加功能
(4)保存功能
神2详细完毕如下模块设计与实现:
(1)显示功能
(2)查询功能
(3)显示功能
神3重要详细完毕如下模块设计与实现:
(1)编辑功能
(2)删除功能
(3)读取功能
二需求分析
1.问题描述
定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达时间和离开时间等信息和有关对属性做操作行为。
定义一种管理类,完毕对停车场管理。
停车场详细规定:
设停车场是一种可停放n辆汽车狭长通道,且只有一种大门可供汽车进出。
汽车在停车场内按车辆到达时间先后顺序,依次由北向南排列(大门在最南端,最先到达第一辆车停放在车场最北端),若车场内已停满n辆汽车,则日后汽车只能在门外便道上等待,一旦有车开走,则排在便道上第一辆车即可开入;
每辆停放在车场车在它离开停车场时必要按它停留时间长短交纳费用。
2.基本规定
(1)添加功能:
程序可以添加到达停车场车辆信息,规定车辆车牌号要唯一,如果添加了重复编号记录时,则提示数据添加重复并取消添加。
(2)查询功能:
可依照车牌号、车型等信息对已添加停车场中车辆信息进行查询,如果未找到,给出相应提示信息,如果找到,则显示相应记录信息;
(3)显示功能:
可显示当前系统中所有车辆信息,每条记录占据一行。
(4)编辑功能:
可依照查询成果对相应记录进行修改,修改时注意车牌号唯一性。
(5)删除功能:
重要实现对已添加车辆记录进行删除。
如果当前系统中没有相应人员记录,则提示“记录为空!
”并返回操作。
(6)记录功能:
能记录停车场中车辆总数、按车型、按到达时间进行记录等。
(7)保存功能:
可将当前系统中各类人员记录和休假记录存入文献中,存入方式任意。
(8)读取功能:
可将保存在文献中信息读入到当前系统中,供顾客进行使用。
3.系统运营环境
(1)硬件环境。
联想双核解决器,2G内存,2G独立显卡,80G硬盘。
(2)软件环境。
MicrosoftVisualC++6.0,WindosXP系统。
三总体设计
(1)设计思想
本停车场n个车位,
因此可以用数组表达,每辆车用一构造体表达,涉及车牌号、颜色、车型、
车位号、停车时间和停车标志位(标志与否停车)。
当车入库时,将更改信息,当车出库时,将信息写入car.dat中。
再次进入该系统时,还用这个该数组,来接受car.dat数据读入,便于顾客后来操作,防止停车信息流失。
此外,由于需要显示所有汽车停车信息,因此咱们又加了一种顾客构造体,一种顾客链表,当存车时,新建顾客节点,并使用头插法,插于链表(便于取车时查到顾客,补充完整顾客信息),填写顾客有关信息(车牌号,颜色,车型,车位号,车入库时刻)。
当出库时,查找相应节点,补充完整顾客信息,涉及(顾客留言,停车时间总计,耗费)。
当退出系统后,将已出库汽车车主信息,写入历史文献list.dat中,便于管理员查询。
将尚未取走车车主信息存入暂时文献temp.dat中,防止系统关闭后数据信息丢失,车主取车时找不到车。
同步,还要将成员信息写入暂时文献user.dat;
(2)数据构造
构造体Car,保存每个车位停车信息。
构造体Gustomer,保存每个客户信息。
构造体User,保存管理员信息。
数组Cars,保存整个停车状况。
数组user;
链表CustList,保存所有客户信息,涉及车已取走,和车未取走。
(3)程序模块
(1)此停车场管理系统,重要分为如下若干模块:
一方面定义用来模仿停车数组,用来保存顾客信息链表,保存管理员信息构造以及全局变量,然后编写主函数,在此主函数中实现对其他各个模块调用。
在主函数中一方面调用option()函数,浮现欢迎顾客使用界面,然后提示顾客进入此停车场管理系统后,再浮现一种供顾客选取主界面(涉及顾客界面和停车场管理员管理界面)。
当顾客选取顾客界面时,跳入到顾客界面,再次界面,顾客可以选取存车、取车及返回主页面。
在顾客选取过程中,程序又分别存车,取车函数调用以及退出程序这三个函数模块。
其中,当存车时,调用了显示空闲车位状态信息函数,并调用了保存car.dat函数;
当取车时,调用显示本次停车状况以及消费金额函数,并调用了保存car.dat函数。
建立user.dat存储管理人员信息。
最后,在主界面选取“退出”,保存历史文献list.dat和暂时文献temp.dat。
当顾客选取车管系统时,调用管理员身份验证函数,从而跳入车管界面,然后相应功能函数,实现查询所有停车信息。
(2)各模块之间调用关系以及算法设计
下图是个模块之间调用关系:
注:
在取、存操作后,会自动保存信息到car.dat中。
在每次退出系统时,会保存list.dat和temp.dat。
(3)函数设计
intUsertestAdd();
voidSaveUsers(Userusers[6]);
voidloa(Userusers[6]);
voidFourUserIn(Userusers[6]);
voidLoad(Carcars[6]);
voidShowusers(Userusers[6]);
voidloafile(Userusers[6],charname[10],charid[10],charpassword[10],intqingjia,intempty);
voidLoadfile(Carcars[6],charlicense[10],charpchexing[10],charpcolor[2],intpnumber,intptime,intempty);
voidFourCarIn(CarCars[6]);
voidEnterpark(Carcars[6]);
voidShowcars(Carcars[6]);
voidSavecars(Carcars[6]);
boolIsEmpty(Carcars[6]);
voidPrint(charlicense[10],charpchexing[10],charpcolor[2],intpnumber,intptime,float&
cost);
voidLeavepark(Carcars[6],charlicense[],charpchexing[],charpcolor[],int&
pnumber,int&
ptime,float&
cost,charnote[100]);
voidCarOutMenu(charlicense[],charpchexing[],charpcolor[],int&
voidManage(Carcars[6]);
voidInitCustList(CustList*&
cl);
voidCreateCustList(CustList*&
cl,char*license,char*pchexing,char*pcolor);
voidGetDate(chartmp[64]);
voidSearchCust(CustList*&
cl,char*license,char*pchexing,char*pcolor,floatcost,intpcount);
voidCustomer(Carcars[6]);
voidCustomerNote(charnote[100]);
voidEachGuideInfor(Carc);
四详细设计
实现概要设计中定义所有数据类型,对重要操作写出实现算法,对主程序和其她模块写出算法,写出函数调用关系。
(1)数据类型
structCar
{
charlicense[8];
intpnumber;
charpcolor[2];
charpchexing[10];
intptime;
intempty;
//标志位,有车为1,无车为0
};
structCustomer
{
charlicense[10];
//车牌号
charpchexing[10];
//车型号
charpcolor[2];
//车颜色
chardate[64];
//停车时刻
intptimecount;
//本次停车总时间
floatcost;
charnote[100];
//顾客留言
Customer*next;
};
structUser
charid[10];
//编号
charname[10];
//姓名
charpassword[10];
//留言
intqingjia;
intempty;
数组User,保存整个管理人员信息。
CarCars[PNUMBER];
链表,保存所有客户信息,涉及车已取走,和车未取走。
typedefstructSnodeCustList;
(2)重要操作
1)存车
voidEnterpark(Carcars[6])
cout<
<
"
inputyourlicense,chexing,color"
endl;
charlicen[10],pche[10],pcolo[2];
cin>
>
licen>
pcolo>
pche;
while(!
licen)
}
//判断车库与否已经满了
inti;
for(i=0;
i<
6;
i++)
if(cars[i].empty==1)
cars[i].ptime+=5;
else
cars[i].pnumber=i+1;
cars[i].ptime=5;
cars[i].empty=1;
strcpy(cars[i].license,licen);
return;
//如果使用break,则只能跳出单层循环,
2)取车
voidLeavepark(Carcars[FLOOR][PNUMBER],charlicense[],int&
floor,int&
pt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 停车场 管理 系统 设计 样本