欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    停车场管理系统设计讲解Word格式文档下载.docx

    • 资源ID:7390462       资源大小:37.57KB        全文页数:53页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    停车场管理系统设计讲解Word格式文档下载.docx

    1、二 需求分析1问题描述定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、到达的时间和离开的时间等信息和相关的对属性做操作的行为。 定义一个管理类,完成对停车场的管理。停车场的具体要求:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。 2. 基本要求(1)添加功能:程序能够添加到达

    2、停车场的车辆信息,要求车辆的车牌号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;(3)显示功能:可显示当前系统中所有车辆的信息,每条记录占据一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意车牌号的唯一性。(5)删除功能:主要实现对已添加的车辆记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。(6)统计功能:能统计停车场中车辆的总数、按车型、按到达时间进行统计等。(7)保存功能:可将当

    3、前系统中各类人员记录和休假记录存入文件中,存入方式任意。(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。 3系统运行环境 (1)硬件环境。联想 双核处理器,2G内存,2G独立显卡,80G硬盘。 (2)软件环境。Microsoft Visual C+6.0,WindosXP系统。三 总体设计(1) 设计思想本停车场n个车位,所以可以用数组表示,每辆车用一结构体表示,包括车牌号、颜色、车型、车位号、停车时间和停车标志位(标志是否停车)。当车入库时,将更改信息,当车出库时,将信息写入car.dat中。再次进入该系统时,还用这个该数组,来接受car.dat数据的读入,便于用户以

    4、后的操作,防止停车信息的流失。此外,由于需要显示所有汽车的停车信息,所以我们又加了一个顾客结构体,一个顾客链表,当存车时,新建用户节点,并使用头插法,插于链表(便于取车时查到用户,补充完整用户的信息),填写用户的相关信息(车牌号,颜色,车型,车位号,车入库时刻)。当出库时,查找相应节点,补充完整用户信息,包括(用户留言,停车时间总计,花费)。当退出系统后,将已出库的汽车的车主信息,写入历史文件list.dat中,便于管理员的查询。将还未取走车的车主的信息存入临时文件temp.dat中,防止系统关闭后数据信息的丢失,车主取车时找不到车。同时,还要将成员信息写入临时文件user.dat;(2) 数

    5、据结构结构体Car,保存每个车位的停车信息。结构体 Gustomer,保存每个客户的信息。结构体User,保存管理员信息。数组Cars,保存整个停车状况。数组 user;链表CustList,保存所有客户的信息,包括车已取走,和车未取走的。(3) 程序模块 (1) 此停车场管理系统,主要分为以下若干模块:首先定义用来模拟停车的数组,用来保存顾客信息的链表,保存管理员信息的结构以及全局变量,然后编写主函数,在此主函数中实现对其它各个模块的调用。在主函数中首先调用option()函数,出现欢迎用户使用的界面,然后提示用户进入此停车场管理系统后,再出现一个供用户选择的主界面(包括顾客界面和停车场管理

    6、员管理界面)。当用户选择顾客界面时,跳入到顾客界面,再次界面,用户可以选择存车、取车及返回主页面。在用户的选择过程中,程序又分别存车,取车函数调用以及退出程序这三个函数模块。其中,当存车时,调用了显示空闲车位状态的信息函数,并调用了保存car.dat的函数;当取车时,调用显示本次停车情况以及消费金额的函数, 并调用了保存car.dat的函数。建立user.dat存放管理人员的信息。最后,在主界面选择“退出”,保存历史文件list.dat和临时文件temp.dat。当用户选择车管系统时,调用管理员身份验证函数,从而跳入车管界面,然后相应的功能函数,实现查询所有停车信息。 (2)各模块之间的调用关

    7、系以及算法设计下图是个模块之间的调用关系:欢迎页面退出停车场管理员界面显示凭据客户留言返回主页输入车牌号显示车位,客户选择车牌有效存车界面取车客户界面进入主页面否是满初始停车场车辆信息输入管理员信息显示管理员信息注:在取、存操作后,会自动保存信息到car.dat中。在每次退出系统时,会保存list.dat和temp.dat。(3)函数设计 int UsertestAdd(); void SaveUsers(User users6); void loa(User users6); void FourUserIn(User users6); void Load(Car cars6); void S

    8、howusers(User users6); void loafile(User users6,char name10,char id10,char password10, int qingjia,int empty); void Loadfile(Car cars6,char license10,char pchexing10,char pcolor2,int pnumber,int ptime,int empty); void FourCarIn(Car Cars6); void Enterpark(Car cars6); void Showcars(Car cars6); void Sa

    9、vecars(Car cars6); bool IsEmpty(Car cars6); void Print(char license10,char pchexing10,char pcolor2,int pnumber,int ptime,float &cost); void Leavepark(Car cars6,char license,char pchexing,char pcolor,int &pnumber,int &ptime,float &cost,char note100); void CarOutMenu(char license,char pchexing,char pc

    10、olor,int & void Manage(Car cars6); void InitCustList(CustList *&cl); void CreateCustList(CustList *&cl,char *license,char *pchexing,char *pcolor); void GetDate(char tmp64); void SearchCust(CustList *&cl,char *license,char *pchexing,char *pcolor,float cost,int pcount); void Customer(Car cars6); void

    11、CustomerNote(char note100); void EachGuideInfor(Car c);四 详细设计实现概要设计中定义的所有数据类型,对主要操作写出实现算法,对主程序和其他模块写出算法,写出函数的调用关系。(1) 数据类型struct Carchar license8;int pnumber;char pcolor2;char pchexing10;int ptime;int empty;/标志位,有车为1,无车为0; struct Customer char license10;/车牌号 char pchexing10;/车的型号 char pcolor2;/车的颜色

    12、char date64;/停车的时刻 int ptimecount;/本次停车总时间 float cost; char note100;/顾客留言 Customer *next; ; struct User char id10;/编号 char name10;/姓名 char password10;/留言 int qingjia; int empty;数组User,保存整个管理人员的信息。Car CarsPNUMBER;链表,保存所有客户的信息,包括车已取走,和车未取走的。typedef struct Snode CustList;(2) 主要操作1) 存车void Enterpark(Car

    13、 cars6)coutlicenpcolopche;while(!licen)/判断车库是否已经满了int i;for(i=0;i6;i+)if(carsi.empty=1)carsi.ptime +=5;elsecarsi.pnumber =i+1;carsi.ptime=5;carsi.empty=1;strcpy(carsi.license,licen);return; /如果使用break,则只能跳出单层循环,2) 取车void Leavepark(Car carsFLOORPNUMBER,char license,int &floor,int &ptime,char note100)

    14、/判断车位是否已空if(IsEmpty(cars)=1)停车场已没有车停放!请确定您是否停车。/查找车位int sign=1;/标志位,车库有该车为1,没有赋值为零,初始值为0int i,j;while(sign)FLOOR;for(j=0;jPNUMBER;j+)if(strcmp(carsij.license,license)=0)sign=0;floor=i;pnumber=j;ptime=carsij.ptime;if(sign)您刚才输入的车牌号不存在!请重新输入:;license;if(sign=0)车已找到,请稍等。strcpy(note,0000000000);floor+=1

    15、;pnumber+=1;/system (cls100000000;i+);carsfloor-1pnumber-1.floor =0;carsfloor-1pnumber-1.pnumber =0;carsfloor-1pnumber-1.ptime=0;carsfloor-1pnumber-1.empty=0;strcpy(carsfloor-1pnumber-1.license, 3)添加管理员的信息到User.txt中void SaveUsers(User users6)FILE* fp = fopen(user.txt,wbif(fp=NULL)Can not open this f

    16、ileUser user;int j=0;while(j6)if(usersj.empty =1)strcpy(user.name ,usersj.name );strcpy(user.id ,usersj.id );strcpy(user.password ,usersj.password);user.qingjia =usersj.qingjia;fwrite(&user,sizeof(user),1,fp);j+;fclose(fp);4)登录界面int UsertestAdd()/simple登陆验证和注册用户功能User UserArr10=031010216神1/默认用户int c

    17、ount=0;/统计输入用户名和密码错误次数int i=0;/遍历变量或找到用户的IDint k=1;/表示已存在的用户数while(1)int n=0;/标识是否匹配,若匹配,则退出外循环请输入您的管理账号char id10;id;请输入密码char password10;password;10;if(!strcmp(UserArri.id,id)&!strcmp(UserArri.password,password)n=1;break;if(n)i=0;count+;密码或账号错误,if(count=2|k=2)您今天已累计输错count 次-您是否要注册用户?(否则您将自动退出系统)输入

    18、数字1表示同意注册,其他则表示不同意条款int tip=0;tip;if(tip=1)if(k=2)很遗憾,系统管理员用户总数达到上限,无法注册,若需注册,请联系管理员return 0;else请输入要注册账号strcpy(UserArrk+1.id ,id);请输入您的姓名char name10;name;strcpy(UserArrk+1.name ,name);请输入您的密码strcpy(UserArrk+1.password ,password);注册成功,系统正在为您跳转到登陆界面1000000000)j+;+k;else return 0;*欢迎进 UserArri.name 入停

    19、车场后台管理系统return 1;5)顾客界面void Customer(Car cars6)*停车场*1 存车2 取车3 返回上一级请选择:char a;i;if(i3)您的操作非法!continue;if(i=1|i=2)switch(i)case 1:system (Enterpark(cars);Savecars(cars);退出?(Y:是,N:不)请输入:a;Brea;case 2:int pnumber,ptime;int pcount=0;float cost;char note100;请输入您的车牌号:pchepcolo;Leavepark(cars,licen,pche,pc

    20、olo,pnumber,ptime,cost,note);CarOutMenu(licen,pche,pcolo,pnumber,ptime,cost,note);/SearchCust(cl,licen,cost,pcount);if(a=Y)6)后台程序void Manage(Car cars6)Welcome!1 初始停车场2 显示所有车辆信息3 输入管理员信息 4 显示管理员信息5 退出4)if(i=1|i=2|i=3|i=4) system (FourCarIn(cars);Showcars(cars);case 3: system ( FourUserIn(users); break; case 4: system ( Showusers(users); break; if(a= system ( break; else break;7)主函数int main()UsertestAdd();Car cars6; int j; for(j=0; carsj.pnumber=0; carsj.ptime=0; carsj.empty=0; strcpy(carsj.license , /CustList *cl; /InitCustList(cl); Load(cars); while(1) cout1 客户界面2 车管界面3 退出 i


    注意事项

    本文(停车场管理系统设计讲解Word格式文档下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开