网站大量收购独家精品文档,联系QQ:2885784924

模拟停车场管理系统..docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟停车场管理系统.

综合实验——模拟停车场管理系统实验目的掌握Dev-C++环境下的编译、调试和执行的方法及步骤。熟悉线性表、栈、队列、串、数组等线性结构的存储方式。掌握利用数据结构综合处理非数值问题的方法。实验内容模拟停车场如下图所示停车场是可停放n辆汽车的狭长通道,停车场内只有一条单行线通道可走车,有一个大门可供汽车进出。基本要求:进站:若车场内已停满n辆汽车,则后来的汽车只能在门外通道上等候,一旦有车开走,则排在通道上的第一辆车即可开入。出站:当停车场内某辆汽车要离开时,必须按它在停车场停留的时间长短缴纳费用;如果通道前面有汽车在缴纳费用,则要在其后面排队等候。假设出、入便道上一次只能排m辆汽车,本题按n=7,m=3进行模拟,时间计算到分钟,每小时停车费3元。假设初始时停车场内停了6辆汽车,没有排队等候进站或出站的汽车。概要设计数据类型定义(含所用到的结构的表示及其基本操作)#include iostreamusing namespace std;const int Max=6;const double price=3; class car{public; double time;//int number;car *next;};class carstack{public calss parkingmanagement;public;carstack;int empty();int full();car *s;int top;};class carqueue{ friend calss parkingmanagement;public;carqueue();int full();car *front,*rear;};calss parkingmanagement{ public; int pushstack(carstack cs,int cnum,double ctime); void popstack(carstack cs,int cnum); int pushstack(carstack cq,int cnum,double ctime); int pushstack(carstack cq,int cnum); void arrival(carstack cs,carqueue cq,int cnum,double ctime); void deletequeue(carqueue cq,int i); int popstacknumber; double popstacktime;};carstack::carstack(){top=-1;s=new car[Max];if(s==NULL){cout栈空间分配不成功!endl;exit(1); }}int carstack::full(){return top==Max-1;}carqueue::carqueue(){rear=front=NULL;}int parkingmanagement::pushstack(carstack cs,int cnum,double ctime){if(cs.top==Max-1){cout停车场已满!endl;return Max;}else{cs.top++;(cs.s[cs.top]).number=cnum;(cs.s[cs.top]).time=ctime;return(cs.top+1);}}}void parkingmanagement::popstack(carstack cs,int cnum){int i;car p;carstack stemp;for(i=0;i=cs.top;i++)if((cs.s[i]).number==cnum)break;p=cs.s[i];while(cs.topi)stemp.s[++(stemp.top)]=cs.s[(stemp.top)--];popstacknumber=p.number;popstacktime=p.time;cs.top--;whlie(stemp.top=0)cs.s[++(cs.top)]=stemp.s[(stemp.top)--];}void parkingmanagement::pushqueue(carqueue cq,int cnum,double ctime){car *pbData,*countp;int count(1);p=new car;p-number=cnum;p-time=ctime;p-next=NULL;if(cq.front==NULL) { cq.front=cq.rear=p;} else{ p-next=(cq.rear)-next; (cq.rear)-next=p; cq.rear=(cq.rear)-next;

文档评论(0)

sa74g0hj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档