电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构c语言版课程设计停车场管理系统VIP免费

数据结构c语言版课程设计停车场管理系统_第1页
1/13
数据结构c语言版课程设计停车场管理系统_第2页
2/13
数据结构c语言版课程设计停车场管理系统_第3页
3/13
课程设计:停车场c语言版本的数据结构课程设计,要求用栈模拟停车场,用队列模拟便道,实现停车场的收费管理系统停车场停满车后车会停在便道上面下面附上源码,vc:(下编译#include//#include//malloc#include//设置光标信息mallco#defineMaxSize5/*定义停车场栈长度*/#definePRICE0。05/*每车每分钟收费值*/#defineBASEPRICE0。5//基础停车费#defineEsc27//退出系统#defineExit3//结束对话#defineStop1//停车#defineDrive2//取车intjx=0,jy=32;//全局变量日志打印位置typedefstruct{inthour;intminute;}Time,*PTime;/*时间结点*/typedefstruct/*定义栈元素的类型即车辆信息结点*/{intnum;/*车牌号*/Timearrtime;/*到达时刻或离区时刻*/}CarNode;typedefstruct/*定义栈,模拟停车场*/{CarNodestack[MaxSize];inttop;}SqStackCar;typedefstructnode/*定义队列结点的类型*/{intnum;/*车牌号*/structnode*next;}QueueNode;typedefstruct/*定义队列,模拟便道*/{QueueNode*front,*rear;}LinkQueueCar;/*函数声明*/PTimeget_time();CarNodegetcarInfo();voidqingping(inta);voidgotoxy(intx,inty);voidprintlog(Timet,intn,intio,charab,intpo,doublef);voidprintstop(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);//如果栈满,返回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]);//栈不空,返回栈顶元素}}/*初始化队列*/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保存队列中数据元素的个数}}/*数据入队列*/voidEnLinkQueue(LinkQueueCar*q,intx){QueueNode*p;p=(QueueNode*)malloc(sizeof(QueueNode));//产生一个新结点p->num=x;p—>next=NULL;q-〉rear—〉next=p;//新结点入队列q—>rear=p;q—>front—>num++;//队列元素个数加1}/*数据出队列*/intDeLinkQueue(LinkQueueCar*q){QueueNode*p;intn;if(q—〉front==q—〉rear)//队空返回0return(0);else{p=q-〉front—〉next;q-〉front—>next=p—>next;if(p-〉next==NULL)q-〉rear=q—〉front;n=p-〉num;free(p);q—>front-〉num-—;return(n);//返回出队的数据信息}}/*********************车辆到达***************************///参数:停车栈停车队列车辆信息//返回值:空//功能:对传入的车辆进行入栈栈满则入队列voidArrive(SqStackCar*stop,LinkQueueCar*lq,CarNodex){intf;f=push(stop,x);//入栈if(f==0)//栈满{EnLinkQueue(lq,x.num);//入队printstop(1,lq->front—〉num,0,23);printlog(x。arrtime,x。num,1,’B’,lq—〉front-〉num,0);qingping(0);printf(”您的车停在便道%d号车位上\n”,lq->front-〉num);//更新对话}else{printstop(0,stop—〉top+1,0,23);printlog(x.arrtime,x。num,1,’P’,stop—>top+1,0);qingping(0);printf("您的车停在停车场%d号车位上\n",stop-〉top+1);//更新对话}qingping(1);printf(”按任意键继续");getch();}/**************************车辆离开*************************************///参数:停车栈指针s1,暂存栈指针s2,停车队列指针p,车辆信息x//返回值:空//功能:查找栈中s...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构c语言版课程设计停车场管理系统

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部