资源描述:
《数据结构c语言版课程设计停车场管理系统样本.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。课程设计:停车场c语言版本的数据结构课程设计,要求用栈模拟停车场,用队列模拟便道,实现停车场的收费管理系统资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。停车场停满车后车会停在便道上面下面附上源码,vc:(下编译#include//#include//malloc#include//获取系统时间所用函数资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。#
2、include//getch()#include//设置光标信息mallco#defineMaxSize5/*定义停车场栈长度*/#definePRICE0.05/*每车每分钟收费值*/#defineBASEPRICE0.5//基础停车费#defineEsc27//退出系统#defineExit3#defineStop1#defineDrive2//结束对话//停车//取车intjx=0,jy=32;//全局变量日志打印位置typedefstruct{i
3、nthour;intminute;}Time,*PTime;/*时间结点*/typedefstruct/*定义栈元素的类型即车辆信息结点*/{intnum;/*车牌号*/Timearrtime;/*到达时刻或离区时刻*/}CarNode;资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。typedefstruct/*定义栈,模拟停车场*/{CarNodestack[MaxSize];inttop;}SqStackCar;typedefstructnode/*定义队列结点的
4、类型*/{intnum;/*车牌号*/structnode*next;}QueueNode;typedefstruct/*定义队列,模拟便道*/{QueueNode*front,*rear;}LinkQueueCar;/*函数声明*/PTimeget_time();CarNodegetcarInfo();voidqingping(inta);voidgotoxy(intx,inty);voidprintlog(Timet,intn,intio,charab,intpo,doublef);void
5、printstop(inta,intnum,intx0,inty0);资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。voidprintleave(inta,intpo,intnum);/*初始化栈*/voidInitSeqStack(SqStackCar*s){s->top=-1;}/*push入站函数*/intpush(SqStackCar*s,CarNodex)//数据元素x入指针s所指的栈{if(s->top==MaxSize-1)return(0);//如果栈满,
6、返回0else{s->stack[++s->top]=x;//栈不满,到达车辆入栈return(1);}}/*栈顶元素出栈*/资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。CarNodepop(SqStackCar*s){CarNodex;if(s->top<0){x.num=0;x.arrtime.hour=0;x.arrtime.minute=0;return(x);//如果栈空,返回空值}else{s->top--;return(s->stack[s->top+1]);/
7、/栈不空,返回栈顶元素}}/*初始化队列*/voidInitLinkQueue(LinkQueueCar*q){资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。q->front=(QueueNode*)malloc(sizeof(QueueNode));//产生一个新结点,作头结点if(q->front!=NULL){q->rear=q->front;q->front->next=NULL;q->front->num=0;//头结点的num保存队列中数据元素的个数}}/*数据入队列*/vo
8、idEnLinkQueue(LinkQueueCar*q,intx){QueueNode*p;p=(QueueNode*)malloc(sizeof(QueueNode));//产生一个新结点p->num=x;p->next=NULL;q->rear->next=p;//新结点入队列q->rear=p;