用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

停车场收费系统C语言版

2012-12-17 作者: xiaofei举报

[c]代码库

# include<stdlib.h> 

# include<stdio.h> 

# define N 2    //通道允许的最大停车数量,可重新设置 

# define NULL 0  //空值 

# define PRICE 1  //收费单价,可重新设置 



typedef struct car_infor 

 { 

 int  licen_tag; 

 int  time; 

}SElemType; 



typedef struct 

 { 

 SElemType *base1;       //通道的栈底指针 

 SElemType *top1;        //通道的栈顶指针 

 SElemType *base2;       //临时道的栈底指针 

 SElemType *top2;        //临时道的栈顶指针 

}Stack; 



typedef struct Qnode 

 { 

 int  licen_tag; 

 int  time; 

 struct Qnode *next; 

}Qnode,*QueuePtr; 



typedef struct 

 { 

 QueuePtr front; 

 QueuePtr rear; 

}LinkQueue; 



void initStack(Stack &S) //初始化通道与临时道 

 { 

 S.base1=(SElemType *)malloc(N*sizeof(SElemType)); 

 S.top1=S.base1; 

 S.base2=(SElemType *)malloc(N*sizeof(SElemType)); 

 S.top2=S.base2; 

} 



void initQueue(LinkQueue &Q) //初始化便道 
{ 

 Q.front=Q.rear=(QueuePtr)malloc(sizeof(Qnode)); 

 Q.front->next=NULL; 

} 



void Push1(Stack &S,int licen_tag,int time) //车辆进通道 

 { 

 S.top1->licen_tag=licen_tag; 

 S.top1->time=time; 

 S.top1++; 

} 



void Push2(Stack &S) //让路的车辆从通道暂时离开,进临时道 

 { 

 S.top2->licen_tag=S.top1->licen_tag; 

 S.top2->time=S.top1->time; 

 S.top2++; 

 S.top1--; 

} 



void Pop(Stack &S) //车辆从临时道回到通道 

 { 

 S.top2--; 

 S.top1->licen_tag=S.top2->licen_tag; 

 S.top1->time=S.top2->time; 

 S.top1++; 

} 



void EnQueue(LinkQueue &Q,int licen_tag,int time) //通道满时,车辆进便道 

 { 

 QueuePtr p; 

 p=(QueuePtr)malloc(sizeof(Qnode)); 

 p->next=NULL; 

 Q.rear->next=p; 

 Q.rear=p; 

 p->licen_tag=licen_tag; 

 p->time=time; 

} 



网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...