停车场管理系统设计正文

停车场管理系统设计正文

ID:853248

大小:395.53 KB

页数:14页

时间:2017-09-20

停车场管理系统设计正文_第1页
停车场管理系统设计正文_第2页
停车场管理系统设计正文_第3页
停车场管理系统设计正文_第4页
停车场管理系统设计正文_第5页
资源描述:

《停车场管理系统设计正文》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、目录1需求分析11.1停车场容量的实现方法11.2停车登记的实现方法11.3离开结算得实现方法11.4登记记录的实现方法21.4.1今天登记情况的实现21.4.2离开车辆记录的实现21.4.3便道信息查询的实现21.4.4返回主页面的实现22系统设计32.1总体功能图32.1总体流程图43主要功能设计流程53.1今天登记情况实现流程图53.2离开车辆记录实现流程图53.3登记记录实现流程图64代码实现74.1离开结算实现代码74.2运行效果图84.2.1停车场容量效果图84.2.2主界面效果图94.2.3停车登记效果图94.2.4离开结算效果图94.

2、2.5离开车辆记录效果图10总结11参考文献12附录源代码(见源程序)1需求分析为了达到设计要求,此程序的数据类型为ADT,根据停车场模拟程序的设计内容和要求,对停车场模拟程序需要做出如下的分析:1.1停车场容量的实现方法根据设计要求停车场的容量是介于1—20辆车,要到达设计要求我们仅需在主界面运行前对手动输入的容量做出判断即可,当得到的是错误信息便提示,再次输入容量大小直到是正确的信息(即介于1—20),实现函数为face()。1.2停车登记的实现方法登记的首要工作是登记车辆的车牌号,同时判断车牌号正确与否,当得到正确的车牌号,就记录车牌号、当前时

3、间,并输出到屏幕上,整个实现方法通过调用arrival()函数,当有车登记通过压栈push()进入停车场。得到时间是通过使用Time.h头文件来得到系统时间。当车站满时,只有把车停在便道上,便道上采用队列的形式等候车站有空位,以便停车。同时把当前信息写入estdout.txt文件。1.3离开结算得实现方法离开结算在leave()函数下生成,需要通过输入正确的车牌号,实现函数checknum(),不包括错误车牌号或停车场里面不存在的车牌号。信息正确时,首先出栈pop()并判断车牌号与需要离开的车牌号是否相同,并把不是要离开的车辆信息push()到二重栈

4、里,当查找到要离开的车牌号时调用Getmoney()函数,此车进入停车场的时间和当前系统时间使用Time.h下的difftime()函数得到时间差,便可计算出当前车需要缴纳的费用。然后把二重栈的信息重新压回当前栈,如果便道上有等候车辆,即可把队列的首车辆压到当前栈。同时把离开信息写入leaveout.txt文件。1.4登记记录的实现方法1.4.1今天登记情况的实现调用Inforstack()函数,在判断文件不为空后,读取estdout.txt文件,输出。1.4.2离开车辆记录的实现调用Inforleave()函数,在判断文件不为空后,读取leaveo

5、ut.txt文件,输出。1.4.3便道信息查询的实现调用Inforqueue()函数,判断队列的长度即可。1.4.4返回主页面的实现调用Book()显示主页面的函数。2系统设计根据需求分析,停车场管理要实现的基本功能:a.手动输入停车场的容量;b.停车登记;c.离开结算;d.登记记录;e.退出系统;f.查询“今天登记情况”;g.查询“离开车辆记录”;h.查询“便道信息查询”;i.返回主界面;2.1总体功能图根据需求分析,停车场管理模拟程序总体功能图如图1.1:停车场容量主界面停车登记离开结算登记记录退出系统今天登记情况离开车辆记录便道信息查询返回主页

6、面图2.1总体功能图2.1总体流程图根据需求分析,停车场管理模拟程序总体流程图如图1.2:NYYN停车场容量开始输入容量主界面Switch今天登记情况离开车辆记录登记记录退出系统输入车牌打印信息存入文件Switch今天登记情况离开车辆记录便道信息查询返回主页面文件打印信息文件打印信息打印信息图2.2总体流程图3主要功能设计流程3.1今天登记情况实现流程图根据对今天登记情况的分析,可以得到它的流程图如图1.3:YN开始输入车牌号打印信息判断车牌?保存文件结束图3.1登记情况流程图3.2离开车辆记录实现流程图开始YN输入车牌号查找停车场车辆判断车牌?保存

7、文件结束图3.2离开车辆记录流程图3.3登记记录实现流程图N开始SwitchY打开文件判断文件?打印信息Y打开文件判断文件?打印信息队列个数打印信息返回主界面图3.3登记记录流程图4代码实现4.1离开结算实现代码Functionleave(refStack,refqueue,tm_tInform)M=Stackcountif(mblowzero)printf()returnelsewrittecarnumberloop(1)checkcarnumberloop(mnotequalzero)temp=(Infor*)pop(stack)push(sta

8、cktemp,temp)loop(carnumbernotequalzero)if(temp->num[k]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。