资源简介
设停车场内只有一个可停放n辆汽车的长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列,若车场内已停满n辆车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,等该辆车开出大门外,其它车辆再按原次序进入停车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交费

代码片段和文件信息
#include
using namespace std;
typedef struct Time{
int data;
int hour;
int min;
}Time;//时间节点
typedef struct StackNode{
char mess[15];
int num;
Time reach;
Time leave;
struct StackNode *next;
}CarNode;//入库车辆信息节点
typedef struct Stack{
CarNode *stack[5];
int top;
}CarStack;//模拟车库
typedef struct QueueNode{
char mess[15];
QueueNode *next;
}QueueNode;//便道车辆信息节点
typedef struct Queue{
StackNode *head;
StackNode *rear;
}linkQueue;//模拟便道
void InitStack(CarStack *s);/*初始化栈*/
void InitQueue(linkQueue *road);/*初始化队列*/
void CreatStack(CarNode *CarCarStack *garage);//车进库
void CreatQueue(CarNode *CarlinkQueue *road);//车进便道
void PopStack(CarStack *garageCarStack *TemplinkQueue *road);//车出库
void GetCarNode(CarStack *garagelinkQueue *road);//获取车辆信息
void InfoStack(CarStack *garage);//车库车辆信息
void InfoQueue(linkQueue *road);//便道车辆信息
void Print(CarNode *Car);//打印出库车信息
void main()
{
int i=0j=0k=1;
CarStack garageTemp;
linkQueue road;
InitStack(&garage);
InitStack(&Temp);
InitQueue(&road);
while(k){
i=0;
while(!i){
cout<<“*---------*欢迎光临停车场,本停车场每分钟收费0.01元*---------*“< cout<<“**************************************************************“< cout<<“* 1-存车 2-取车 3-列表 4-退出程序 *“< cout<<“**************************************************************“< cin>>i;
if(i<1||i>4){
cout<<“请重新选择!“< i=0;
}
}
switch(i){
case 1:
GetCarNode(&garage&road);//获取车辆信息
break;
case 2:
PopStack(&garage&Temp&road);//车出库
break;
case 3://查询车辆信息
j=0;
while(!j){
cout< cout<<“********************************************“< cout<<“* 1-车库 2-便道 3-返回 *“< cout<<“********************************************“< cin>>j;
if(j<1||j>3){
cout<<“请重新选择!“< j=0;
}
switch(j){
case 1:
InfoStack(&garage);//车库车辆信息
j=0;
break;
case 2:
InfoQueue(&road);//便道车辆信息
j=0;
break;
case 3:
j=1;
break;
}
}
break;
case 4:
k=0;
break;
}
cout< cin.clear();
}
}
void InitStack(CarStack *s)/*初始化栈*/
{
int i;
s->top=0;
for(i=0;i<=4;i++)
s->stack[s->top]=NULL;
}
void InitQueue(linkQueue *road)/*初始化队列*/
{
road->head=(StackNode *)malloc(sizeof(StackNode));
if(road->head!=NULL){
road->head->next=NULL;
road->rear=road->head;
}
}
void GetCarNode(CarStack *garagelinkQueue *road)//获取车辆信息
{
CarNode *Car=(CarNode *)malloc(sizeof(CarNode));
if(garage->top<5&&garage->top>=0){
cout<<“请输入车辆号码 如(冀D6666):“;
cin>>Car->mess;
cout<<“请输入车辆进站时间(日-时:分)“;
scanf(“%d-%d:%d“&(Car->reach.data)&(Car->reach.hour)&(Car->reach.min));
cout<<“车辆进入车库!“< CreatStack(Cargarage);//车进库
}
else{
cout<<“请输入车辆号码 如(冀D6666):“;
cin>>Car->mess;
cout<<“车库已满,车辆停进便道“<
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 271208 2011-05-09 17:50 tingchechang\Debug\main.obj
文件 565343 2011-05-09 17:50 tingchechang\Debug\tingchechang.exe
文件 800484 2011-05-09 17:50 tingchechang\Debug\tingchechang.ilk
文件 2030156 2011-05-09 17:46 tingchechang\Debug\tingchechang.pch
文件 1115136 2011-05-09 17:50 tingchechang\Debug\tingchechang.pdb
文件 115712 2011-05-19 17:58 tingchechang\Debug\vc60.idb
文件 110592 2011-05-09 17:50 tingchechang\Debug\vc60.pdb
文件 6031 2011-05-09 17:50 tingchechang\main.cpp
文件 4348 2011-04-30 18:06 tingchechang\tingchechang.dsp
文件 549 2011-04-30 14:47 tingchechang\tingchechang.dsw
文件 58368 2011-05-19 17:58 tingchechang\tingchechang.ncb
文件 53760 2011-05-19 17:58 tingchechang\tingchechang.opt
文件 258 2011-05-09 17:50 tingchechang\tingchechang.plg
目录 0 2011-05-09 17:50 tingchechang\Debug
目录 0 2011-05-19 17:58 tingchechang
----------- --------- ---------- ----- ----
5131945 15
相关资源
- VisualStudioUninstaller vs卸载工具
- 组态王驱动开发包3.0.0.7(中文)
- 多窗口后台鼠标连点器
- 使用选择性重传协议实现UDP可靠通信
- VC 获得文件属性 获取文件的创建时
- 读者写者问题(读者优先,写者优先
- 用VC 编写的仿QQ聊天室程序源代码
- 地下停车场CAD设计图
- 外点法程序
- 外罚函数程序
- qt-电子点菜系统
- 推箱子及人工智能寻路C 源代码
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- C 餐厅叫号系统(QT平)
- 国际象棋c 完整版
-
ob
jectARX给Auto CAD加工具条 - 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 课程设计 职工信息管理系统
- VC 游戏编程—附源代码
- IpHlpApi.h&IpHlpApi.lib
- 清华大学 c 郑莉 ppt课件
- c 程序判断离散数学中命题公式
- 多项式求和(数据结构C 版)
- vc 6.0开发的流程图编辑器
- VC 天空盒(skyBox)实现(附源代码)
- c MFC 画多边形
- 用C 实现的对网络上的ARP数据包进行
评论
共有 条评论