内蒙古科技大学课程设计说明书I内蒙古科技大学本科生课程设计论文题目:停车场管理器设计学生姓名:吕晓明学号:1176807333专业:计算机科学与技术班级:2011-3指导教师:康懿2013年5月30日内蒙古科技大学课程设计说明书II内蒙古科技大学课程设计任务书课程名称数据结构课程设计设计题目停车场管理器设计指导教师康懿时间2009.6.15——2008.6.26一、教学要求1.掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。停车场管理器设计以结构体类型表示停车时间和车辆信息,在此基础上借助栈完成对车辆的入场和出场操作,借助队列完成辅助停车场便道,即存放等待入场车辆或辅助车场中的某辆车出场。要求设计类(或类模板)来描述栈、队列、停车场及其操作,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数:压栈、退栈入队列、出队列车辆到场(有车位即入场,否则入便道等待)、车辆出场(任意位置车辆均可出场)查询车辆信息、输出停车场(包括停车位和便道的车辆)并设计主函数测试该类。三、设计要求及成果1.分析课程设计题目的要求2.写出详细设计说明3.编写程序代码,调试程序使其能正确运行4.设计完成的软件要便于操作和使用5.设计完成后提交课程设计报告四、进度安排资料查阅与讨论(1天)系统分析(2天)系统的开发与测试(5天)编写课程设计说明书和验收(2天)五、评分标准1.根据平时上机考勤、表现和进度,教师将每天点名和检查2.根据课程设计完成情况,必须有可运行的软件。3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。4.根据答辩的情况,应能够以清晰的思路和准确、简练的语言叙述自己的设计和回答教师的提问六、建议参考资料1.《数据结构(C语言版)》严蔚敏、吴伟民主编清华大学出版社2004.112.《数据结构课程设计案例精编(用C/C++描述)》,李建学等编著,清华大学出版社2007.23.《数据结构:用面向对象方法与C++语言描述》,殷人昆主编,清华大学出版社2007.6内蒙古科技大学课程设计说明书III目录目录.........................................................................................................................................III第一章需求分析...........................................................................................................................41.1引言...................................................................................................................................41.2任务概述...........................................................................................................................41.3功能需求...........................................................................................................................4第二章概要设计.............................................................................................................................42.1总体设计...........................................................................................................................42.2数据结构设计...................................................................................................................52.3接口设计...........................................................................................................................62.4运行界面设计...................................................................................................................6第三章详细设计.............................................................................................................................73.1车辆入场设计...................................................................................................................73.2车辆离开设计...................................................................................................................83.3便道设计...........................................................................................................................9第四章课程设计总结...................................................................................................................10附录:程序代码.............................................................................................................................10内蒙古科技大学课程设计说明书4第一章需求分析1.1引言1.2任务概述以结构体类型表示停车时间和车辆信息,在此基础上借助栈完成对车辆的入场和出场操作,借助队列完成辅助停车场便道,即存放等待入场车辆或辅助车场中的某辆车出场。设计类(或类模板)来描述栈、队列、停车场及其操作,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数:压栈、退栈入队列、出队列车辆到场(有车位即入场,否则入便道等待)、车辆出场(任意位置车辆均可出场)查询车辆信息、输出停车场(包括停车位和便道的车辆)1.3功能需求第二章概要设计2.1总体设计停车场管理器内蒙古科技大学课程设计说明书52.2数据结构设计//初始化栈voidInitStack(SeqStackCar*s){inti;s-top=0;for(i=0;i=MAX;i++)s-stack[s-top]=NULL;}//初始化便道(队列)intInitQueue(LinkQueueCar*Q){Q-head=(QueueNode*)malloc(sizeof(QueueNode));if(Q-head!=NULL){Q-head-next=NULL;Q-rear=Q-head;return(1);}elsereturn(-1);车辆到达便道车辆离开车牌号入场时间停车位置应缴费用离开时间车牌号入场时间内蒙古科技大学课程设计说明书6}2.3接口设计表2.1:函数列表函数函数格式函数功能InitStackInitStack(SeqStackCar*)初始化栈InitQueueInitQueue(LinkQueueCar*)初始化对列ArrivalArrival(SeqStackCar*,LinkQueueCar*)车辆到达记录LeaveLeave(SeqStackCar*,SeqStackCar*,LinkQueueCar*)车辆离开记录ListList(SeqStackCar,LinkQueueCar显示信息2.4运行界面设计内蒙古科技大学课程设计说明书7第三章详细设计3.1车辆入场设计intArrival(SeqStackCar*Enter,LinkQueueCar*W){CarNode*p;QueueNode*t;p=(CarNode*)malloc(sizeof(CarNode));flushall();cout请输入车牌号(例:A1234):endl;gets(p-num);if(Enter-topMAX)//停车场未满,车辆进入停车场{Enter-top++;cout车辆在停车场第Enter-top号车位!endl;cout请输入到达时间:(小时:分钟)endl;cinp-reach.hour;while(p-reach.hour0||p-reach.hour23)//控制时间格式正确{cout输入错误!endl;cout请重新输入到达时间的时(0-23)!endl;cinp-reach.hour;}cinp-reach.min;while(p-reach.min0||p-reach.min59)//控制分钟输入正确{cout输入错误!endl;cout请重新输入到达时间的分(0-59)!endl;cinp-reach.min;}Enter-stack[Enter-top]=p;return(1);}else//停车场已满,车辆进入便道{cout停车场已满,请在便道等待!endl;t=(QueueNode*)malloc(sizeof(QueueNode));t-data=p;t-next=NULL;W-rear-next=t;W-rear=t;return(1);内蒙古科技大学课程设计说明书8}}3.2车辆离开设计voidPRINT(CarNode*p,introom){intA1,A2,B1,B2;cout请输入离开的时间:(小时:分钟)endl;cinp-leave.hour;while(p-leave.hour0||p-leave.hour23){cout输入错误!endl;cout请重新输入离开的时间的时(0-23)endl;cinp-leave.hour;B1=p-leave.hour;}cinp-lea