jessica1 发表于 2015-11-29 15:13:02

停车场管理,,请求帮助实现代码!!!!

本帖最后由 jessica1 于 2015-12-2 08:48 编辑

停车场管理1
1、问题分析
根据题目要求,停车场可以用一个长度为n的堆栈来模拟。由于停车场内如有某辆车要开走,在它之后近来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。所以可以设两个堆栈。
2、实现过程
#define n 30
设立两个长度为n的堆栈park,temp。汽车信息采用结构体存储,设立汽车信息结构体:
Struct carInfo
{
   Char action;   //到达(‘A’)还是离去(‘D’),或者结束标志‘E’。
   IntcarNo;    //汽车牌照号码
   Intschedule; //到达/离去的时刻
   Intflag;   //标志汽车是否进入了停车场(0表示在停车场,1表示在便道上)
}CInfo;
3、主体算法流程
While(输入信息!=(’E’,0,0))
{
If(action==’A’)
{
   If(park堆栈未满)
{
    把flag标志置为0;
该汽车信息进堆栈;
      输出“停在停车场!”;
}
Else
{
   把flag标志置为1;
   输出“停在便道上!”;
}
   }
If(action==’D’)
{
If(flag==1)//停在便道上
    输出“该车在便道上,不用交费,直接开走!”;
Else
{
    While(park堆栈栈顶元素出堆栈(执行pop操作))
{
if(栈顶元素的carNo==输入的carNo)
{
输出”该车在停车场的停留时间**,应交费¥¥”;(停留时间=离去时刻-到达时刻,交费金额=单价*停留时间,单价自己设定)
temp堆栈中的元素依次出堆栈(pop),同时进park堆栈(push)。
Break;
}
Else
栈顶元素进temp堆栈(push);
      }
}
}
页: [1]
查看完整版本: 停车场管理,,请求帮助实现代码!!!!