课程设计说明书课程名称:_软件工程课程设计___题目:_停车场管理系统____院系:理学院专业班级:学号:学生姓名:指导教师:__2012年6月8日1安徽理工大学课程设计(论文)任务书理学院院系信计教研室学号学生姓名专业(班级)设计题目停车场管理系统设计技术参数系统平台:WindowsXP开发工具:MicrosoftVC++6.0建模工具:MicrosoftVisio2007抓图工具:红蜻蜓抓图精灵设计要求利用软件工程的思想和方法完成停车场管理系统的分析、设计、实现等,主要实现的功能有:记录车辆信息,动态分配车位,停车费用结算,查看停车场车位的使用状况,退出系统等功能,解决车辆停放难,乱收费等问题。工作量需求分析,概要设计,详细设计,编码设计以及调试。工作计划5月28日--5月30日完成需求分析6月1日--6月3日完成概要设计和详细设计6月4日--6月6日完成程序设计6月7日完成Word文档编写及窗口截图6月8日提交程序和课程设计说明书参考资料[1]严蔚敏.数据结构[M].北京:清华大学出版社.2009[2]齐志昌,谭庆平.软件工程[M].北京:高等教育出版社,2006.4[3]谭浩强.C程序设计(第三版)[M]北京:清华大学出版社.2008[4]温秀梅.VisualC++面向对象程序设计[M]北京:清华大学出版社,2005[5]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.5指导教师签字教研室主任签字2012年5月28日2安徽理工大学课程设计(论文)学生姓名:学号:专业班级:课程设计题目:停车场管理系统指导教师评语:成绩:指导教师:李涛2012年6月10日目录第一章引言..................................................................................................................11.1系统制作背景..................................................................................................11.2系统制作要求..................................................................................................1第二章需求分析..........................................................................................................12.1任务概述...........................................................................................................12.2系统开发原因...................................................................................................12.3系统开发任务...................................................................................................1第三章概要结构设计..................................................................................................23.1基本处理流程...................................................................................................23.2总体结构...........................................................................................................3第四章详细结构设计..................................................................................................44.1程序系统的结构...............................................................................................44.2菜单函数...........................................................................................................44.3初始化模块设计4.4车辆进入函数...................................................................................................74.5车辆离开函数...................................................................................................8第五章测试分析........................................................................................................105.1主菜单函数.....................................................................................................105.2初始化操作.....................................................................................................115.3车辆进入.......................................................................................................1015.4车辆离开并收费..............................................................错误!未定义书签。2第六章总结................................................................................................................13参考文献......................................................................................................................141第一章引言1.1系统制作背景说明:使用此软件系统的名称:停车场管理系统随着计算机技术的发展,在各行各业的应用越来越广泛,停车场管理由原来的人工管理进入计算机系统管理那是个必然趋势,计算机系统管理可以大大提高管理的效率和正确性。1.2系统制作要求设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车站。停车站内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车站为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。第二章需求分析2.1任务概述根据题目要求,因为停车场是一个单条的序列,可以用结构体实现;在程序中,需要知道每辆来车的具体停放位置,应提供提示、查找、标记工作。车辆离开要计时计费。另外,每天开始时,停车场要初始化。2.2系统开发原因随着经济的发展和人民生活水平的提高,买车成为人们的奋斗目标之一,当然已经有很多人买起了车。可是随着车辆的增多,车辆的停泊问题也随之出现。这就使得各停车场需要更加先进、更加完善的车辆管理系统。2.3系统开发任务实现停车场的现代化管理,记录车辆信息,动态分配车位,停车费用结算,查看停车场车位的使用状况,退出系统等功能,解决车辆停放难,乱收费等问题。2第三章概要结构设计3.1基本处理流程图3-1车辆到达以堆栈来模拟停车场和以堆栈里的数据元素我设计成汽车的车牌号初始化车站,初始化让路的临时栈,初始化通道车场未满,车进车场车场已满,车进便道判断车场是否已满车输入车子到达时间,车牌号未满车进入车场判断车场内是否有车不做任何计算无点x有输入离开车辆的离开时间,进行停车费用的计算此车后面的车辆退出并进入临时栈车子离开33.2总体结构图3-2停车场管理系统车辆到达信息查看车位使用状况车辆离开信息计算停车费用退出系统车牌号到达时间该车使用的车位号车牌号离开时间该车腾出的车位号车牌号到达时间离开时间每小时所需停车费用有空余车位无空余车位新到来车辆停放新到来车辆在便道上等候有车离开时新到来车辆停放4开始显示一系列选项功能输入n,判断n是不是1-4?Y根据n的值调用各功能模块函数结束第四章详细结构设计4.1程序系统的结构main()函数体内包含了界面选则部分menu(),并单独抽出来作为一个独立函数,目的在于系统执行每部分模块后能够方便返回到系统界面。即main()函数写为如下:voidmain()/*主函数*/{menu();/*菜单函数*/}图4-14.2菜单函数voidmenu(){intn,w;do{puts(\t\t**************MENU**************\n\n);puts(\t\t\t1.初始化);puts(\t\t\t2.有车进入);puts(\t\t\t3.有车离开);puts(\t\t\t4.退出);puts(\n\n\t\t*********************************\n);printf(Pleasechoiceyournumber(1-4):[]\b\b);N5scanf(%d,&n);if(n1||n4)/*对选择的数字作判断*/{w=1;getchar();}elsew=0;}while(w==1);switch(n){case1:chushi();break;/*初始化函数*/case2:jinru();break;/*车辆进入函数*/case3:likai();break;/*车辆离开函数*/case4:exit(0);/*退出*/}}4.3初始化模块设计【需求分析】该模块是将每一天开始的停车场内和便道车位清零。首先建立场内场外的结构体,结构体内成员即车位的状态。用循环实现车位的致零即可。structchangnei/*场内车道信息*/{intneikong;}chn[N-1];structchangwai/*场外车道信息*/{intwaikong;}chw[M-1];N和M分别是停车场和便道的车位预设值,用宏定义。