文档介绍:停车场管理实****报告
一, 需求分析
1, 本实验演示的是一个可停放N车辆的狭长通道,只有一个大门可以供汽车进出,汽车在停车场内按车辆到达的时间先后次序,由北向南排列,若停车场已经停满N辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走则排在便道上的第一辆车即可开入,当停车场内某辆车离开时,在它后面进入的车要为他让路,待该辆车开出大门外,其他车辆在按照原次序进场,每辆停放在车厂的车在它离开停车场时必须按它停留的时间长短缴纳费用。
2,实验的演示是以用户和计算机的对话方式执行,即在计算机屏幕上显示"提示信息",用户再在键盘上输入相应的数据
3,程序的输入包括:字母A,d:分别表示到达和离开,E表示结束,数字表示车辆编号,到达离开时间。
4,数据测试
输入数据位:A 1 2 A 2 3 A 3 4 A 4 5 A 5 6 A 6 7 A 7 8 d 4 8 d 2 9 d 5 10 d 6 11 d 1 12 d 3 13 E 0 0
二,概要设计
基本操作:
InitStack(SqStack s) //初始化栈 空栈
StackEmpty(SqStack s) //判断栈是否空
StackFull(SqStack s) //判断栈是否满
4. status Push(SqStack s, int e1,int e2) //进栈
5. status Pop(SqStack s,int e1,int e2) //出栈
6. status InitQueue(LinkQueue Q) //初始化有一个节点
7. int QueueLength(LinkQueue Q) //返回队列长度
8. status QueueEmpty(LinkQueue Q) //判断队列是否空
9. status QueueFull(LinkQueue Q) //判断队列是否满
10. status EnQueue(LinkQueue Q,int e) //增加
11. status deQueue(LinkQueue Q,int e) //减少
12. void main() //主函数
三, 详细设计
include
include
define OK 1
define ERROR 0
define OVERFLOw 2
define mAX1 2 //停车场能停的最大车辆
define mAX2 4 //便道上能停得最大车辆
define price 10 //每小时价钱
typedef int status;
typedef struct{ //栈结构
int *number;
int *time;
int top; //栈顶指针
}SqStack;
status InitStack(SqStack s){ //初始化栈 空栈
=(int *)malloc(mAX1 *sizeof(int));
=(int *)malloc(mAX1 *s