《停车场管理系统设计.docx》由会员分享,可在线阅读,更多相关《停车场管理系统设计.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、停车场管理系统设计面向对象程序设计C+课程大作业设计题目:停车场管理系统设计院系:计算机科学与信息工程学院专业班级:学号姓名:指导老师:年1月目录一、成员分工(1)二、需求分析(2)三、总体设计(3)四、具体设计(6)五、系统测试(17)六、总结(20)七、参考文献(21)一成员分工我们小组成员共有三名,分别是,为了能按时圆满的完成这次VC+课程设计,我们小组进行了具体的分工,以确保设计能按时完成。经过周密的考虑和具体的调查最终确定该停车场管理系统需要下面几个功能模块:1需求分析2界面的设计3添加功能4显示功能5查询功能6编辑功能7删除功能8统计功能9保存功能10读取功能经过小组成员的讨论,并
2、根据个人的特长和详细喜好做如下详细分工:神1详细完成下面模块的设计与实现:1需求分析2界面的设计3添加功能4保存功能神2详细完成下面模块的设计与实现:1显示功能2查询功能3显示功能神3主要详细完成下面模块的设计与实现:1编辑功能2删除功能3读取功能二需求分析1问题描绘定义车辆类,属性有车牌号、颜色、车型小汽车、小卡、中卡和大卡、到达的时间和离开的时间等信息和相关的对属性做操作的行为。定义一个管理类,完成对停车场的管理。停车场的详细要求:设停车场是一个可停放n辆汽车的狭长通道,且只要一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列大门在最南端,最先到达的第一辆车停放
3、在车场的最北端,若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。2.基本要求1添加功能:程序能够添加到达停车场的车辆信息,要求车辆的车牌号要唯一,假如添加了重复编号的记录时,则提示数据添加重复并取消添加。2查询功能:可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,假如未找到,给出相应的提示信息,假如找到,则显示相应的记录信息;3显示功能:可显示当前系统中所有车辆的信息,每条记录占据一行。4编辑功能:可根据查询结果对相应的记录进行修改,修改时注意车牌号的唯一性
4、。5删除功能:主要实现对已添加的车辆记录进行删除。假如当前系统中没有相应的人员记录,则提示“记录为空!并返回操作。6统计功能:能统计停车场中车辆的总数、按车型、按到达时间进行统计等。7保存功能:可将当前系统中各类人员记录和休假记录存入文件中,存入方式任意。8读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。3系统运行环境(1)硬件环境。联想双核处理器,2G内存,2G独立显卡,80G硬盘。(2)软件环境。MicrosoftVisualC+,WindosXP系统。三总体设计1设计思想本停车场n个车位,所以能够用数组表示,每辆车用一构造体表示,包括车牌号、颜色、车型、车位号、停车时间
5、和停车标志位标志能否停车。当车入库时,将更改信息,当车出库时,将信息写入中。再次进入该系统时,还用这个该数组,来接受数据的读入,便于用户以后的操作,防止停车信息的流失。此外,由于需要显示所有汽车的停车信息,所以我们又加了一个顾客构造体,一个顾客链表,当存车时,新建用户节点,并使用头插法,插于链表便于取车时查到用户,补充完好用户的信息,填写用户的相关信息车牌号,颜色,车型,车位号,车入库时刻。当出库时,查找相应节点,补充完好用户信息,包括用户留言,停车时间总计,花费。当退出系统后,将已出库的汽车的车主信息,写入历史文件中,便于管理员的查询。将还未取走车的车主的信息存入临时文件中,防止系统关闭后数
6、据信息的丢失,车主取车时找不到车。同时,还要将成员信息写入临时文件;2数据构造构造体Car,保存每个车位的停车信息。构造体Gustomer,保存每个客户的信息。构造体User,保存管理员信息。数组Cars,保存整个停车状况。数组user;链表CustList,保存所有客户的信息,包括车已取走,和车未取走的。3程序模块1此停车场管理系统,主要分为下面若干模块:首先定义用来模拟停车的数组,用来保存顾客信息的链表,保存管理员信息的构造以及全局变量,然后编写主函数,在此主函数中实现对其它各个模块的调用。在主函数中首先调用option()函数,出现欢迎用户使用的界面,然后提示用户进入此停车场管理系统后,
7、再出现一个供用户选择的主界面包括顾客界面和停车场管理员管理界面。当用户选择顾客界面时,跳入到顾客界面,再次界面,用户能够选择存车、取车及返回主页面。在用户的选择经过中,程序又分别存车,取车函数调用以及退出程序这三个函数模块。其中,当存车时,调用了显示空闲车位状态的信息函数,并调用了保存的函数;当取车时,调用显示本次停车情况以及消费金额的函数,并调用了保存的函数。建立存放管理人员的信息。最后,在主界面选择“退出,保存历史文件和临时文件。当用户选择车管系统时,调用管理员身份验证函数,进而跳入车管界面,然后相应的功能函数,实现查询所有停车信息。2各模块之间的调用关系以及算法设计下列图是个模块之间的调
8、用关系:3函数设计intUsertestAdd();voidSaveUsers(Userusers6);voidloa(Userusers6);voidFourUserIn(Userusers6);voidLoad(Carcars6);voidShowusers(Userusers6);voidloafile(Userusers6,charname10,charid10,charpassword10,intqingjia,intempty);voidLoadfile(Carcars6,charlicense10,charpchexing10,charpcolor2,intpnumber,int
9、ptime,intempty);voidFourCarIn(CarCars6);voidEnterpark(Carcars6);voidShowcars(Carcars6);voidSavecars(Carcars6);boolIsEmpty(Carcars6);voidPrint(charlicense10,charpchexing10,charpcolor2,intpnumber,intptime,floatvoidLeavepark(Carcars6,charlicense,charpchexing,charpcolor,int&pnumber,int&ptime,float&cost,
10、charnote100);voidCarOutMenu(charlicense,charpchexing,charpcolor,int&pnumber,int&ptime,float&cost,charnote100);voidManage(Carcars6);voidInitCustList(CustList*voidCreateCustList(CustList*&cl,char*license,char*pchexing,char*pcolor);voidGetDate(chartmp64);voidSearchCust(CustList*&cl,char*license,char*pc
11、hexing,char*pcolor,floatcost,intpcount);voidCustomer(Carcars6);voidCustomerNote(charnote100);voidEachGuideInfor(Carc);四具体设计实现概要设计中定义的所有数据类型,对主要操作写出实现算法,对主程序和其他模块写出算法,写出函数的调用关系。1数据类型构造体Car,保存每个车位的停车信息。structCarcharlicense8;intpnumber;charpcolor2;charpchexing10;intptime;intempty;mpty=1)carsi.ptime+=5;elsecarsi.pnumber=i+1;carsi.ptime=5;carsi.empty=1;strcpy(carsi.license,licen);return;icense,license)=0)sign=0;floor=i;pnumber=j;ptime=carsij.ptime;if(sign)coutlicense;
限制150内