停车场管理系统数据结构课程设计论文(编辑修改稿)内容摘要:

四 程序源代码 include include include define NULL 0 define ERROR 0 define OK 1 define OVERFLOW 1 Main() 选 择 A 开始 进站 结束 进入临时车道 临时车道车进入车站 继续 进站 define STACK_INIT_SIZE 2//车库容量 typedef struct time{ int hour。 int min。 }Time。 //时间结点 typedef struct//车信息 { char label[10]。 float time。 }Car,Car2。 typedef struct//车库信息 { Car *top。 Car *base。 int stacksize。 }SqStack。 int InitStack(SqStack *S)//栈的初始化 { Sbase=(Car *)malloc(STACK_INIT_SIZE*sizeof(Car))。 if(!(Sbase)) return ERROR。 Stop=Sbase。 Sstacksize=STACK_INIT_SIZE。 return OK。 } int StackEmpty(SqStack S)//栈空 { if(==) return OK。 else return ERROR。 } int StackFull(SqStack S)//栈满 { if(=STACK_INIT_SIZE) return OK。 else return ERROR。 } int Push(SqStack *S,Car e)//入栈 { if(StopSbase=STACK_INIT_SIZE) return OVERFLOW。 else { *(Stop++)=e。 return OK。 }//else } int Pop(SqStack *S,Car *e)//出栈 { if(Stop==Sbase) return ERROR。 else *e=*((Stop))。 return OK。 } int GetTop(SqStack *S,Car *e)//返回栈顶元素 {if(Stop==Sbase) return ERROR。 else *e=*(Stop1)。 return OK。 } typedef struct//临时车道 { Car2 *top2。 Car2 *base2。 int stacksize2。 }SqStack2。 int InitStack2(SqStack2 *S2) { S2base2=(Car2 *)malloc(STACK_INIT_SIZE*sizeof(Car2))。 if(!(S2top2)) return ERROR。 S2top2=S2base2。 S2stacksize2=STACK_INIT_SIZE。 return OK。 } int Push2(SqStack2 *S2,Car2 e2) { if(S2top2S2base2=STACK_INIT_SIZE) return OVERFLOW。 *(S2top2++)=e2。 return OK。 } int Pop2(SqStack2 *S2,Car2 *e2) { if(S2top2==S2base2) exit(OVERFLOW)。 *e2=*((S2top2))。 return OK。 } int StackEmpty2(SqStack2 S2) { if(==) return OK。 else return ERROR。 } typedef struct QNode//车道信息 { Car data。 struct QNode *next。 }QNode,*QueuePtr。 typedef struct { QueuePtr front。 QueuePtr rear。 }LinkQueue。 int InitQueue(LinkQueue *Q)//初始化队列 { Qfront=Qrear=(QueuePtr)malloc(sizeof(QNode))。 if(!(Qfront)) return ERROR。 Qfrontnext=NULL。 return OK。 } int EnQueue(LinkQueue *Q,Car e)//插入元素 { QueuePtr p。 p=(QueuePtr)malloc(sizeof(QNode))。 if(!p) return ERROR。 pdata=e。 pnext=NULL。 Qrearnext=p。 Qrear=p。 return OK。 } int QueueEmpty(LinkQueue Q)//队空 { if(==) return OK。 else return ERROR。 } int DeQueue(LinkQueue *Q,Car *e) { QueuePtr p。 if(Qfront==Qrear) return ERROR。 p=Qfrontnext。 *e=pdata。 Qfrontnext=pnext。 if(Qrear==p) Qrear=Qfront。 free(p)。 return OK。 } void main() { int i,position_s=1,position_q=1,mistime=1。 int ch=1。 char status。 float time,money。 LinkQueue Q。 Car car_I,car_D,car_M,car_S。 SqStack S。 SqStack2 S2。 InitStack(amp。 S)。 InitStack2(amp。 S2)。 InitQueue(amp。 Q)。 printf(\n\t\t\t\t 停车场管理系统 )。 printf(\n\n\n\t\t\t11 信息与计算科学 邓全飞 202020320205。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。