没有合适的资源?快使用搜索试试~ 我知道了~
数据机构课程设计停车场管理问题
4星 · 超过85%的资源 需积分: 9 8 下载量 11 浏览量
2011-07-01
04:47:05
上传
评论
收藏 29KB DOCX 举报
温馨提示
试读
23页
设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。
资源推荐
资源详情
资源评论
一.实习目的
通过实习,了解并初步掌握设计、实现较大系统
的完整过程,包括系统分析、编码设计、系统集成、
以及调试分析,熟练掌握数据结构的选择、设计、实
现以及操作方法,为进一步的应用开发打好基础。
二.问题描述
设停车场是一个可停放 n 辆车的狭长通道,且
只有一个大门可供汽车进出。在停车场内,汽车按到
达的先后次序,由北向南依次排列(假设大门在最南
端)。若车场内已停满 n 辆车,则后来的汽车需在门
外的便道上等候,当有车开走时,便道上的第一辆车
即可开入。当停车场内某辆车要离开时,在它之后进
入的车辆必须先退出车场为它让路,待该辆车开出大
门后,其它车辆再按原次序返回车场。每辆车离开停
车场时,应按其停留时间的长短交费(在便道上停留
的时间不收费)。
三.需求分析
该程序所做的工作的是模拟停车场管理系统,
为
(1) 在程序中输入汽车牌号和停车单价
时,需输入两个整型数据;输入进来或离开的时间时
需输入两个浮点型数据(以 hh:mm 的形式);在
选择功能时,应输入与所选功能对应的一个字符型数
据。
(2) 程序的输出信息主要是:汽车状态(是
进来的 A 或出去的 D 或输入结束的 E),
车牌号,停车时间,费用。
(3) 程序的功能包括:跟据车在停车场停车
时间,实现停车计时收费。
四.算法设计思想及流程图
· 系统用到的抽象数据类型定义:
1. ADT Stack{
数据对象:D={ai|ai∈ElemSet ,i=1,2…,n,n≥0}
数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}
约定 an 端为栈顶,a1 端为栈底
基本操作:
(1) InitStack(&S);
(2) Push(&S,e);
(3) Pop(&S,&e);
}ADT Stack
2.ADT Queue{
数据元素:D={ai|
ai∈ElemSet ,i=1,2…,n,n≥0}
数据关系 R:R1={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}
约定 an 端为队列尾,a1 端为队列头。
基本操作:
(1) InitQueue(&Q);
(2) EnQueue(&Q,e);
(3) DeQueue(&Q,&e);
}ADT LinkQueue
· 系统中子程序及功能要求:
1.Input(car * car2 ,char i,int o):算出要出车的
停车时间及费用
2.InitStack(stack &s): 创建车库和临时库
3.Push(stack *s,car &car1):车进车库
4.Pop(stack *s,car &car1):车出车库
5.OutPopIn(stack *s1, stack *s2,car *car2,car
*car1,int i,int n):借用临时停车区即临时库
6.InitQueue(Queue &q):创建便道
7.EnQueue(Queue *q,QNode &car2):进入便
道
8.DeQueue(Queue *q,QNode &car1):从便道
入车库
· 各程序模块之间的调用关系(子程序编号
见上):
主函数可调用所有子程序
子程序 5 可调用子程序 3,4
五.详细设计(C 语言源程序)
#define STACK_INIT_SIZE 100
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef struct car{
int carno;
float intime;
float outtime;
}car ;//停车场内的汽车
typedef struct stack{
car *base;
car *top;
int stacksize;
}stack;//车库
typedef struct QNode{
剩余22页未读,继续阅读
资源评论
- yin17731103592012-10-30带有文本,写的挺详细的。
scmycmf
- 粉丝: 0
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功