没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
11页
设停车厂只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达的先后顺序依次排列,若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门后,为它让路的车辆再按原次序进入车场。在这里假设汽车不能从便道上开走。每辆停放在车场的车在它离开停车场时必须按它停留的时间长短缴纳费用。试设计一个停车场管理程序。
资源推荐
资源详情
资源评论
//制作人:段士辉
//制作时间:2011:03:28
//这个停车场使用的停车位是3个,如果想更改的话可以把下面的const int N=3;的N值改成你需要的大小
#include <iostream>
#include "time.h"
#include <string>
using namespace std;
const double price=0.0025;//停车场的收费标准:每小时0.025
const int N=3;//停车位的个数
const int OK=1;
const int ERROR=0;//函数状态控制
static int empty=N;
static int EMPTYQUEE=0;//队列中的车的个数
typedef struct Car
{
char num[5];//汽车的车牌号
time_t time_come;//汽车停入停车位的时间
time_t time_leave;//汽车离开停车位的时间
}Car;
typedef struct SqStack
{
Car *base;//栈底指针
Car *top;//栈顶指针
int stacksize;
}SqlStack;
typedef struct QNode//队列的节点
{
Car data;
struct QNode *next;
}QNode;
//制作时间:2011:03:28
//这个停车场使用的停车位是3个,如果想更改的话可以把下面的const int N=3;的N值改成你需要的大小
#include <iostream>
#include "time.h"
#include <string>
using namespace std;
const double price=0.0025;//停车场的收费标准:每小时0.025
const int N=3;//停车位的个数
const int OK=1;
const int ERROR=0;//函数状态控制
static int empty=N;
static int EMPTYQUEE=0;//队列中的车的个数
typedef struct Car
{
char num[5];//汽车的车牌号
time_t time_come;//汽车停入停车位的时间
time_t time_leave;//汽车离开停车位的时间
}Car;
typedef struct SqStack
{
Car *base;//栈底指针
Car *top;//栈顶指针
int stacksize;
}SqlStack;
typedef struct QNode//队列的节点
{
Car data;
struct QNode *next;
}QNode;
typedef struct LinkQueue
{
QNode *front;//队头指针
QNode *rear;//队尾指针
}LinkQueue;
//对栈进行的操作,入栈、出栈
void InitStack (SqStack &S)
{//构造空栈S
S.base=(Car*)malloc(N*sizeof(Car));
if(!S.base) {cout<<"分配失败"<<endl;exit(0);}
S.top=S.base;
S.stacksize=N;
}
int push(SqStack &S,Car &e)
{
//插入元素E为新的栈顶元素
if(S.top-S.base==N)
{
return ERROR;//栈满
}
else
{
*S.top++=e;
return OK;
}
}
int pop1(SqStack &S,Car &e)
{
QNode *front;//队头指针
QNode *rear;//队尾指针
}LinkQueue;
//对栈进行的操作,入栈、出栈
void InitStack (SqStack &S)
{//构造空栈S
S.base=(Car*)malloc(N*sizeof(Car));
if(!S.base) {cout<<"分配失败"<<endl;exit(0);}
S.top=S.base;
S.stacksize=N;
}
int push(SqStack &S,Car &e)
{
//插入元素E为新的栈顶元素
if(S.top-S.base==N)
{
return ERROR;//栈满
}
else
{
*S.top++=e;
return OK;
}
}
int pop1(SqStack &S,Car &e)
剩余10页未读,继续阅读
超级梦想家
- 粉丝: 1
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页