7-14 停车场管理
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n=0,num=0,time=0,flag=0,k,nt[100]={0},par[100]={0};
// par[100]内为所停汽车的号码
// nt[100]汽车进入停车场的时间,下标为汽车号码
char st;
cin>>n;
while(1)
{
cin>>st>>num>>time;
if(st=='E')break;//结束
else if(st=='A')//停车
{
par[flag]=num;
flag++;//标记最后一辆汽车
if(flag<=n)//停入停车场
{
nt[num]=time;//开始计费
cout<<"car#"<<num<<" in parking space #"<<flag<<endl;
}
else cout<<"car#"<<num<<" waiting"<<endl;//停在便道
}
else//取车
{
int i,j,fla=0;
for(i=0;par[i]!=0;i++)
{
if(par[i]==num)//找到汽车位置
{
fla=1;
if(i<n)//如果汽车停在停车场
{
cout<<"car#"<<num<<" out,parking time "<<time-nt[num]<<endl;
nt[par[n-1]]=time;//停车费
}
for(j=i;par[j]!=0;j++)par[j]=par[j+1];//移位
flag--;
if(flag==n)
{
cout<<"car#"<<par[n-1]<<" in parking space #"<<n<<endl;//停在便道上的第一辆汽车停入停车场
nt[par[n-1]]=time;//开始计费
}
}
}
if(fla==0)cout<<"the car not in park"<<endl;//汽车号码不存在
}
}
return 0;
}