- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课外实践报告
项 目 名 称: 停车场停车管理系统
所
在
班
级:
小
组
成
员:
指
导
教
师:
起
止
时
间:
安阳师范学院·数据结构课外实践
安阳师范学院
·数据结构课外实践·
PAGE
PAGE 10
项目基本信息
项目
停车场停车管理系统
名称
项目 本项目是对停车场停车管理系统的简单模拟,以完成停车场
简介 的停车、出车、收费及查询停车场或便道信息等的功能。
小组成员
:InitStack();Pop();Push();
任务分工
InitQueue();EnQueue();DeQueue();
getpas();login();
:reachtime();leavetime();Arrival();
:
Leave();Bill();
:
List();List1();List2();main();
系统完成情况:优
良
中
差
指导教师意见
报告完成情况:优
良
中
差
团队整体成绩:
“姓名” “学号”
成答辩评定成绩 员
成绩
综 合 成 绩
问题描述及分析
1、问题描述:
停车场停车管理系统:
设一个可以停放 n 辆汽车停车场,只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序停放,若车场内已停满n 辆车,那么后来的车只能在门外的便道上等候; 一旦有车开走,则排在便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后 进入的车辆必须先依次退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入 车场。每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。
2、需求分析:
题目中要根据车辆停留时间收费,故在定义结构体时还需要一个时间的结构体用来保存车辆到达和离开的时间。
由于停车场的进出符合栈的“后进先出,先进后出”的操作特点,因此,需要设一个栈来模拟停车场。
根据便道停车的特点,先排队的车辆先离开便道进入停车场,符合队列的“先进先出 ,后进后出”的操作特点,因此,需要用一个队列来模拟便道。
而中间车辆提出离开停车场,后到达的车辆都须先离开停车场为它让路,然后这些车辆再依原来次序进入停车场,而这个同样符合“后进先出,先进后出”的特点,因此还需一个栈来作为临时保存车辆的地方。
一、 功能模块及数据结构描述
1、 功能模块:
★主要功能:
车辆到达
车辆离开
信息查询
★功能模块图:
停车场停 车 管 理
系统
管理员密 码 验 证
车
车
信
辆
辆
息
到
离
查
达
开
询
进
若
车
打
便
停
便
入
满
辆
印
道
车
道
停
,
出
账
车
场
信
车
进
停
单
进
信
息
场
便
车
停
息
查
道
场
车
查
询
场
询
图 1.功能模块图
2、 数据结构描述:
车辆信息的表示
车辆可以看成是一个节点,设计成一个结构体,车辆信息包括:车牌号,车辆到达时间,车辆离开时间,定义如下:
typedef struct node
{
char num[10]; //车牌号
Time reach; //保存车辆到达的时间
Time leave; //保存车辆离开的时间
}CarNode;
时间、栈和队列的定义
时间有小时、分钟和秒表示,即设计三个变量分别表示如下:
typedef struct time
{
int hour; int min; int sec;
}Time;
停车场内用栈表示:
typedef struct NODE
{
CarNode *stack[Max+1]; //栈用顺序表示int top;
}SqStackCar;
便道上的车辆表示:
typedef struct car
{
CarNode *data; //便道上的车用链表表示struct car *next;
}QueueNode;
typedef struct Node
{
QueueNode *head; //设置头指针、尾指针QueueNode *rear;
}LinkQueueCar;
二、 主要算法流程描述及部分核心算法
主函数的算法流程描述:
图 2.主函数流程图
核心算法流程描述:
☆车辆到达:Arrival 函数
主要通过 if(Enter-topMax)来判断到达车辆是进车场还是进便道,如果进车场, 就把 top 加 1,同时记录进车场的位置和时间,然后结点进栈;如果进便道,进行队列操作。
车辆到达函数的算法流程如下图:
图 3.车辆到达流程图
☆ 车辆到达:Leave 函数
首先定义一个position 变量来记录要离开车辆的位置,用if(Enter-top0)来保证栈不空,进而执行以下操作,然后用while(1)来确保输入要离开车辆位置的合法性, 在由 while(Enter-topposition)来判断离开车辆位置是否在最后
您可能关注的文档
- 体育教师个人工作总结范文.docx
- 体育教师工作总结.docx
- 体育教师年度考核个人总结.docx
- 体育教学工作总结.docx
- 体育教学进度表格模板94553.docx
- 体育课教案水平二篮球.docx
- 体育课开学第一节课教案.docx
- 体育课片段教学.docx
- 体育课评课稿.docx
- 体育课准备活动教案(1).docx
- 五个管好的意识形态工作总结.docx
- 在学校党员大会上的讲话:今年国际教育发展的四个主题.docx
- 在区廉政谈话会上的讲话.docx
- 学习贯彻2024年中央经济工作会议精神 打好政策“组合拳”保持经济稳定增长.pptx
- (7篇)学习贯彻中央经济工作会议精神研讨发言心得体会汇编.docx
- 关于“时代新人”视阈下高职思政课教学实践探究报告.docx
- (2025.01.05)关于城市营商环境现状与优化路径探索报告.docx
- 教育工作会议主题发言材料和讲话材料汇编(6篇).docx
- 镇党委副书记兼派出所所长关于2024年度民主生活会个人对照查摆剖析材料.docx
- 县委常委班子2024年度民主生活会对照检查.docx
文档评论(0)