




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
源程序代码:#include<stdio.h>#include<stdlib.h>#include<iostream.h>#include<time.h>#defineMaxSize5#definefee2#defineL 10000#defineM 20000typedefintElemType;ElemTypetmpnum=0;ElemTypetmptime=0;typedefstruct{ElemTypecar_num[MaxSize];ElemTypecar_time[MaxSize];inttop;}STACK;typedefstructqnode{ElemTypecar_num;ElemTypecar_time;structqnode*next;}QTYPT;typedefstructqptr{QTYPT*front;QTYPT*rear;}SQUEUE;SQUEUELQ;voidInitStack(STACK*S){S->top=-1;)intFull(STACK*S){if(S->top==MaxSize-1){printf("\nStackisfull!Push");return0;)return1;)intPush(STACK*S,ElemTypenum,ElemTypetime){if(S->top==MaxSize-1){printf("\nStackisfull!Push");return0;)S->top++;S->car_num[S->top]=num;S->car_time[S->top]=time;return1;)intEmpty(STACK*S){return(S->top==-1?1:0);)intPop(STACK*S,ElemType*num,ElemType*time){if(Empty(S)){puts("StackisfreePop");return0;)*num=S->car_num[S->top];*time=S->car_time[S->top];S->top—;return1;)intGetTop(STACK*S,ElemType*num,ElemType*time){if(Empty(S)){puts("StackisfreeGettop");)*num=S->car_num[S->top];*time=S->car_time[S->top];return1;)voidInitQueue(SQUEUE*LQ){QTYPT*p=NULL;p=(QTYPT*)malloc(sizeof(QTYPT));p->next=NULL;LQ->front=LQ->rear=p;)intEnQueue(SQUEUE*LQ,ElemTypenum,ElemTypetime){QTYPT*s;s=(QTYPT*)malloc(sizeof(QTYPT));s->car_num=num;s->car_time=time;s->next=LQ->rear->next;LQ->rear->next=s;LQ->rear=s;return1;)intCountQueue(SQUEUE*LQ){inti=1;QTYPT*mfront=NULL;QTYPT*mrear=NULL;mfront=LQ->front;mrear=LQ->rear;while(!(LQ->front==LQ->rear)){i++;LQ->front=LQ->front->next;)LQ->front=mfront;returni;)intEmpty_Q(SQUEUE*LQ){return(LQ->front==LQ->rear?1:0);)intOutQueue(SQUEUE*LQ,ElemType*num,ElemType*time){QTYPT*p;if(Empty_Q(LQ)){puts("QuenueisfreeOutQuenue");return0;)p=LQ->front->next;*num=p->car_num;*time=p->car_time;LQ->front->next=p->next;if(LQ->front->next==NULL)LQ->rear=LQ->front;free(p);return1;)intGetHead(SQUEUE*LQ,ElemType*num,ElemType*time){if(Empty_Q(LQ)){puts("QuenueisfreeGetHead");return0;)*num=LQ->front->next->car_num;*time=LQ->front->next->car_time;return1;)voidsleep(inttime){clock_tgoal;goal=time*(CLOCKS_PER_SEC)+clock();while(goal>clock())(;))intchackinput(STACK*S,intpnum){inti=0;intnum;num=pnum;i=S->top;for(;!(i==-1);i--)if(S->car_num[i]==num)return1;return0;)intchacktime(STACK*S,intptime){returnS->car_time[S->top]<=ptime?1:0;)intdisplaystats(STACK*S,intpinput){voiddisplayhead(void);inti=0;i=S->top;switch(pinput){case10000:(if(!Empty(S))for(;!(i==-1);i--)printf("<===%d时%d号车停与%d车位===>\n",S->car_time[i],S->car_time[i],i+1);elsecout<<〃停车场为空〃;printf(〃还有车%d个位\n”,MaxSize-S->topT);break;)case20000:(displayhead();break;)default:(return1;))return0;)voiddisplayhead(void){cout<<'\n'<<〃<===============CT停车场管理系统===================>"<<endl;cout<<〃<==操作说明:*******==>"<<endl;cout<<〃<==A:停车命令*******==>"<<endl;cout<<〃<==D:出车命令***==>"<<endl;cout<<〃<==E:退出程序***==>"<<endl;cout<<〃<==L:显示停车场内状况〃<<endl;cout<<〃<==============================================>〃<<endl;)voiddisplayChange(STACK*S,ElemTypepnum,intptime){printf(〃(单价%d元/小时)\n〃,fee);printf(〃<======================电子收据===================>\n〃);printf(〃<==停车时间: %d小时==>\n〃,ptime-tmptime);printf(〃<==车牌号码: %d==>\n〃,tmpnum);printf(〃<==应收费用: %d元==>\n〃,(ptime-tmptime)*fee);printf(〃<====================谢谢=欢迎下次再来=============>\n〃);printf(〃正在打印收据请稍等\n〃);for(intcount=1;count<1;count++){printf(〃二〃);fflush(stdout);sleep(1);printf(〃八n〃);sleep(1);)voidwait(char*string){printf(〃%s\n〃,string);for(intcount=1;count<1;count++){printf(〃-〃);fflush(stdout);sleep(1);)printf(〃八n〃);)intoutparkstation(STACK*S1,STACK*TS,ElemTypepnum){intt_num=0;intt_time=0;while(1){Pop(S1,&t_num,&t_time);if(t_num==pnum){tmpnum=t_num;tmptime=t_time;while(!Empty(TS)){Pop(TS,&t_num,&t_time);Push(S1,t_num,t_time);)return1;)Push(TS,t_num,t_time);)return0;)intinparkstation(STACK*S){intparknum;intparktime;printf(〃还有车%d个位\n〃,MaxSize-S->top-1);printf(〃请输入车牌号码:〃);cin>>parknum;while(chackinput(S,parknum)){printf(〃车牌号码重复,请输入%d1或者其他〃,parknum);cin>>parknum;)printf(〃请输入停车时间:〃);cin>>parktime;printf("%d号车于%d时停靠在%d位\n”,parknum,parktime,S->top+2);Push(S,parknum,parktime);return1;)intinbiandao(SQUEUE*SQ,STACK*S){intparknum;printf(〃对不起,停车场已满,请您到便道等待.您将第〃);printf("%d进入停车场\n〃,CountQueue(SQ));printf(〃请输入车牌号码:〃);cin>>parknum;while(chackinput(S,parknum)){printf(〃车牌号码重复,请输入%d1或者其他〃,parknum);cin>>parknum;)EnQueue(SQ,parknum,0);return1;)intOutParkingStation(SQUEUE*biandao,STACK*car,STACK*tmp){intparknum=0;intparktime=0;intbuf=0;if(!Empty(car)){displaystats(car,10000);printf(〃请输入您要调出的车牌号码:〃);cin>>parknum;while(!chackinput(car,parknum)){printf(〃没有您要的%d的车牌号码,请输入正确的车牌号码:〃,parknum);cin>>parknum;)outparkstation(car,tmp,parknum);printf(〃%d时%d号车进入停车场\n〃,tmptime,tmpnum);printf(〃请输入现在的时间:〃);cin>>parktime;while(!chacktime(car,parktime)){cout<<〃输入时间小于停车时间,请重新输入:〃;cin>>parktime;)displayChange(car,parknum,parktime);if(biandao->front==biandao->rear){)else(printf("%d号车位空开\口〃,。2)乂0口+2);printf(〃%d时便道上的%d号汽车驶入%d号车位”,parktime,biandao->front->next->car_num,car->top+2);OutQueue(biandao,&parknum,&buf);Push(car,parknum,parktime);)return2;)printf(〃停车场为空\口〃);return1;);intmain(intargc,char*agv口){charchance='A';STACKcar;InitStack(&car);STACKtmp;InitStack(&tmp);SQUEUEbiandao;InitQueue(&biandao);loop:while(1){displayhead();cout<<〃=>:〃;cin>>chance;switch(chance){case'A':(wait(〃正在查询车位,请稍等:〃);if(Full(&car))inparkstation(&car)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提高毕业班复习效率校长讲话:破解3大复习困局实现“投入减半、效果倍增”的实战策略
- 难点解析人教版八年级物理上册第4章光现象-光的色散综合测评试卷(含答案详解)
- 2025年建筑工地材料采购合同协议
- 三年级下册地方教案
- 贵州烟草笔试试题2025
- 综合解析人教版八年级《力》必考点解析试题
- 解析卷-人教版八年级物理上册第6章质量与密度-密度定向攻克试卷(附答案详解)
- 2025年金属冶炼单位主要负责人考试(金属冶炼炼钢)全真模拟试题及答案四
- 考点攻克人教版八年级物理上册第4章光现象重点解析试卷(附答案详解)
- 难点解析-人教版八年级物理上册第5章透镜及其应用-凸透镜成像的规律定向测试练习题(解析版)
- 《质量检验》课件
- 天然气安全运维指引
- 统编版七年级道德与法治上册期中考试卷及答案
- 中建外架专项施工方案
- 力学导论(浙江大学)知到智慧树章节答案
- 2024年秋期南阳市高三语文期中质量评估试卷附答案解析
- 国家电网公司招聘高校毕业生应聘登记表
- 重大决策社会稳定风险评估工作规范
- 专题10相似综合篇(原卷版+解析)
- 2024年四川省锦弘集团有限责任公司招聘笔试冲刺题(带答案解析)
- 土地规划技术总结
评论
0/150
提交评论