c语言数据结构课程设计停车 场完 整版资料

上传人:w****i 文档编号:92486803 上传时间:2019-07-10 格式:DOC 页数:24 大小:229KB
返回 下载 相关 举报
c语言数据结构课程设计停车 场完 整版资料_第1页
第1页 / 共24页
c语言数据结构课程设计停车 场完 整版资料_第2页
第2页 / 共24页
c语言数据结构课程设计停车 场完 整版资料_第3页
第3页 / 共24页
c语言数据结构课程设计停车 场完 整版资料_第4页
第4页 / 共24页
c语言数据结构课程设计停车 场完 整版资料_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《c语言数据结构课程设计停车 场完 整版资料》由会员分享,可在线阅读,更多相关《c语言数据结构课程设计停车 场完 整版资料(24页珍藏版)》请在金锄头文库上搜索。

1、课程设计(论文)编 号: B04931042学 号201340450114 课 程 设 计教 学 院计算机课程名称数据结构与算法题 目用栈实现停车场管理专 业软件工程班 级13级(1)班姓 名高敏同组人员严子璐 李佳恒 童静 赵超 冯辉指导教师程细才2014年6月29日 (完成时间)目 录一概述2二总体方案设计3三详细设计4四程序的调试与运行结果说明5五课程设计总结6参考文献7一 概述1.课程设计的目的 对学生数据结构知识的全面综合训练,把书上学到的知识用于解决实际问题、培养今后软件开发工作所需的动手实践能力,包括问题分析、总体结构设计,用户界面的设计、程序设计时的基本技能和技巧,以及一整套软

2、件工作规范的训练和团体协作精神的培养。2.课程设计的要求(1)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;(3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;(4)训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风二 总体方案设计一、问题描述设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若停车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车

3、开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。设计要求:1模拟上述管理过程。要求以顺序栈模拟停车场,以链队列模拟便道。2从终端读入汽车到达或离去的数据,每组数据包括三项:(1)是“到达”还是“离开”;(2)汽车牌照号码;(3)“到达”或“离开”的时刻。3与每组输入信息相应的输出信息为:如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。4遇到的难题,当进入4

4、辆车,假如需要出车的序列为2,就必须按照栈出栈序列出车,先出4,3,2然后3,4又入桟,这里的程序相对比较麻烦,通过和组员交流终于做出来了。二.各自分工 我负责的是编写部分代码,如车辆的进入函数,运用了栈的知识三 详细设计算法说明1数据结构说明(1)用到两个堆栈:一个为车场栈;另一个为临时栈temptypedef struct NODE CarNode *stackMAX+1; int top;SeqStackCar; /*模拟车场*/(2) 一个队列结构,存储便道车辆信息: typedef struct Node QueueNode *head; QueueNode *rear; LinkQ

5、ueueCar; /*模拟便道*/2算法说明(1) 功能模块说明:停车场管理系统含有三个模块,即:车辆到达、离开、列表显示 图1 (2)以模块为单位分析算法 1、“到达”模块:到达时有两种情况,即车场是否满,未满则直接进入停车场;满时,到便道等待。如图2。 2.“离开”模块:离开时,当车库为空时,提示没有车,结束;否则车辆离开。如图3。 图31. “显示”模块:显示模块有两个显示选项,即:车场与便道。如图4。四.程序的调试与运行结果说明(一)测试用例(说明:测试用例要合理并且足够,既要有正确用例,也要有错误用例,同时检验程序的正确性和强壮性)1第一组测试用例(1)测试输入:停车场的车辆离开,如

6、下表:服务选择车牌号/车位到达/离开时间1QH05815:251AB12318:451EA64223:15220:30210:65(错误) (2)测试目的:测试离开方法时间格式控制以及费用计算是否正确。(3)正确输出:第一次离开的是AB123,应交费3.45元。第二次时,当在输入65时,应该提示输入错误,重输。(4)实际输出: (5)错误原因:第一个错误是在计算时,一个数字错了;第二个是没有对时间格式控制。(6)当前状态:已改正2第二组测试用例(1)测试输入:连续6辆车到达,如下表: 服务选择 车牌号 到达时间1A8828 7:561S22968:251WW6668:451HK45615:50

7、1GH99912:301DD55513:40(2) 测试目的:测试到达方法与列表显示方法能否正确完成。(3)正确输出:先到达的五辆车先进入停车场,最后到达的一辆在便道等候。(4)实际输出:(5)错误原因:没有作出时间先后的判断,而是先输入先进入。(6)当前状态:待修改3第三组测试用例(1)测试输入:接上一步输入离开信息,下表:服务选择离开车位离开时间便道车进入时间2313:3013:40(2)测试目的:测试离开方法功能是否成功以及便道进入车场是否正确。(3)正确输出:输出3号车位的车辆离开信息清单,便道1号车进入停车场。(4)实际输出:(5) 错误原因:没有错误。 (6)当前状态:通过(二)测

8、试结果分析 此停车管理系统基本可能实现一个小的停车场的管理,其“到达”与“离开”方法都相对比较完整,以及结算清单明了。尽管在时间先后上有出现混乱,但当其用到实际应用时,那个时间先后就可以避免了。但在输入数据时,要按照严格的格式输入,否则有可能出现死去或崩溃。若本系统能加上保存功能就更好了,因为一个系统在使用过程中总会关机等,而此系统的缺点却是没有保存功能,关闭之后就要重新建立了。会慢慢完善。附录:源代码/系统说明:本系统适应于小型停车场,且停车时间在一天之内的短期停放停车场。/在此系统中,车库容量设置为5,便于测试。在实际使用中可以对容量大小按实际情况设置。#include#include#i

9、nclude#include#define MAX 5 /*车库容量,可以根据实际情况改变*/#define price 0.01 /*一辆车每分钟费用,可变*/typedef struct timeint hour; int min;Time; /*时间结点*/typedef struct node char num10; Time reach; Time leave;CarNode; /*车辆信息结点*/typedef struct NODE CarNode *stackMAX+1; int top;SeqStackCar; /*模拟停车场*/typedef struct car CarN

10、ode *data; struct car *next;QueueNode;typedef struct Node QueueNode *head; QueueNode *rear;LinkQueueCar; /*模拟便道*/*方法声明*/void InitStack(SeqStackCar *); /*初始化栈*/ int InitQueue(LinkQueueCar *); /*初始化便道*/int Arrival(SeqStackCar *,LinkQueueCar *); /*车辆到达*/ void Leave(SeqStackCar *,SeqStackCar *,LinkQueue

11、Car *); /*车辆离开*/void List(SeqStackCar,LinkQueueCar); /*显示信息*/ void PRINT(CarNode *p,int room); /*输出离开车辆的信息清单*/void main()system(color F2); /*设置系统颜色,本系统为白底绿字f2*/SeqStackCar Enter,Temp; LinkQueueCar Wait; int ch; InitStack(&Enter); /*初始化车站*/ InitStack(&Temp); /*初始化让路的临时栈*/ InitQueue(&Wait); /*初始化通道*/ while(1) cout 欢迎使用本停车管理系统 endl;cout*endl;cout - 1. 车辆到达 - endl; cout - 2. 车辆离开 - endl; cout - 3. 列表显示 - endl; cout - 4. 退出系统 - endl; cout*endl;cout!说明:请注意正确输入时间,在输入时后,按ENTER或者空格,再输入分。不要为非数字!endl;cout请选择所需要的服务! (1-4).ch; if(ch=1&ch=4)break; else cout输入错误!请选择:(1-4).endl; switch(ch) case 1:Arr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号