• PUDN用户
    了解作者
  • C/C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 2
    下载次数
  • 2015-07-23 12:52
    上传日期
停车场管理系统,简单易懂,便于初学者观看
part.rar
  • 停车场管理.cpp
    3KB
内容介绍
#include <stdio.h> #include <stdlib.h> #include <iostream> #include <malloc.h> #define ERROR 0 #define OK 1 #define NULL 0 typedef struct node{ int passport; int time; }node; typedef struct stack{ node *base; node *top; int stacksize; }stack; typedef struct Qnode{ node Qdata; struct Qnode *next; }Qnode; typedef struct { Qnode *front; Qnode *rear; }LinkQueue; int count=0; int times; stack s,temp; LinkQueue Q; void initstack(stack &S,int n){ S.base=(node *)malloc(n*sizeof(node)); S.top=S.base; S.stacksize=n; } void EnQueue(LinkQueue &Q,node e); void DeQueue(LinkQueue &Q,node &e); void push(stack &S,node e){ if((S.top-S.base)>=S.stacksize){EnQueue(Q,e);} else { S.top->passport=e.passport; S.top->time=e.time; S.top++; } } int pop(stack &S,node &e){ if(S.top==S.base)return ERROR; --S.top; e.passport=S.top->passport; e.time=S.top->time; return OK; } void wait(stack &S){ if((S.top-S.base)==(S.stacksize-1)&&count!=0){ node temp; DeQueue(Q,temp); temp.time=times; push(S,temp); } } void EnQueue(LinkQueue &Q,node e){ Qnode *q; q=(Qnode *)malloc(sizeof(Qnode)); q->Qdata.passport=e.passport; q->Qdata.time=e.time; q->next=NULL; if(count==0){Q.front=q;count++;} Q.rear->next=q; Q.rear=q; } void DeQueue(LinkQueue &Q,node &e){ if(Q.rear==NULL){} else { e.passport=Q.front->Qdata.passport; e.time=Q.front->Qdata.time; Q.front=Q.front->next; if(Q.front==NULL){Q.rear=Q.front;count=0;} } } int main(){ int n,exit; float money; char info; int pass; Q.front=NULL; Q.rear=(Qnode *)malloc(sizeof(Qnode)); Q.rear->next=Q.rear; printf("欢迎使用停车场管理系统\n本停车场容量为:"); cin>>n; initstack(s,n); initstack(temp,n); printf("停车场费率为:"); cin>>money; while(exit!=OK){ printf("\n请输入车辆数据\nA到达 D离去 E结束:"); cin>>info; if(info=='E'){return 0;} printf("请输入车辆牌照号码:"); cin>>pass; if(info=='A')printf("请输入车辆进场时间:"); if(info=='D')printf("请输入车辆离场时间:"); cin>>times; if(info=='A'){ int i,j; node a; a.passport=pass; a.time=times; push(s,a); for(i=1;i<=n;i++){ if(s.base[i-1].passport==a.passport){ printf("停车位置(停车场内):%d\n",i); } } Qnode *tp; tp=Q.front; if(tp==NULL){} else{ j=1; while(tp!=Q.rear){ tp=tp->next; j++; } printf("停车位置(便道):%d\n",j); } } else if(info=='D'){ node d; int tp,counter=0; do{ counter++; tp=pop(s,d); while(tp!=ERROR){ if(d.passport==pass){ float m; m=(times-d.time)*money; printf("停留时间:%d分钟 您需交费:%2.2f元\n",times-d.time,m); while(temp.base!=temp.top){ pop(temp,d); push(s,d); } wait(s); d.passport=9999; tp=ERROR; } else{ push(temp,d); d.passport=0; tp=ERROR; } } }while(d.passport==0||counter>n); } else if(info!='E'){} } }
评论
    相关推荐
    • C#停车管理.rar
      C#语言实现停车管理系统,有用户可操作界面,登录,修改等功能
    • c语言综合程序设计停车管理系统.zip
      设计一个停车管理系统,模拟停车场的运作,此程序具备以下功能: (1)若车辆到达,则显示汽车在停车场内或者便道上的停车位置; (2)若车辆离去,则显示汽车在停车场内停留的时间和应缴纳的费用(在便道上停留的...
    • 停车管理.zip
      以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。栈以顺序存储结构实现,队列以链表结构实现。
    • 停车管理问题.rar
      停车管理问题,用C语言编写,但是用的是vc6.0编译器编译!
    • 停车管理问题.zip
      停车管理,原生Queue实现,可以用作实验,可以在DEV CPP上直接运行。
    • 停车管理系统.rar
      一个停车管理系统,学校实验,c语言实现,里面有工程全面内容
    • 停车管理 C语言
      这是一个我们数据结构课程设计做的停车管理,当时我们学的是c语言,很适合于大学生作为课程设计之用,当然也可以做为毕业设计的参考,真心希望对你的课程设计有所帮助!!!
    • 停车管理 c语言
      ADT Stack{ 数据对象:D={ | ∈ElemSet,i=1,2,…,n,n>=0} 数据关系:R1={, >| , ∈D,i=2,…,n} 约定 端为栈顶, 端为栈底。 基本操作: InitStack(&S) 操作结果:构造一个空栈S。 StackEmpty(S) ...
    • C语言停车管理系统.zip
      试设计这样一个停车场模拟管理程序。 本程序从总体上分为四个功能模块,分别为: (1)程序功能介绍和操作提示模块 (2)汽车进入停车位的管理模块 (3)汽车离开停车位的管理模块 (4)查看停车场状态的查询模块
    • 停车管理系统.zip
      实现了对车辆的入库登记、对停车场内车辆的查询和计费、对车辆的出库结算等功能