⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 south.cpp

📁 一 问题描述 1 题目内容 设停车场内只有一个可停放n辆汽车的狭长通道
💻 CPP
字号:
#include<iostream>
using namespace std;

#include "Hparking.h"

//南门进车操作
void Parking::Sparkingin(Car aCar)
{		
		Stop++;
		park[Stop].ADinfor = aCar.ADinfor;
		park[Stop].Carnumber = aCar.Carnumber;
		park[Stop].ADtime = aCar.ADtime;
		cout<<"车进入南门第"<<Stop + 1<<"个位置,";
		cout<<"进入停车场的时间是"<<aCar.ADtime<<endl;
}

//南门出车操作
void Parking::Sparkingout(Car aCar)
{
	int time = 0;
	int j = 0;
	BCar *p;
	p = new BCar;
	while(Stop >= 0)
	{
		if(park[Stop].Carnumber == aCar.Carnumber)
		{
			time = aCar.ADtime - park[Stop].ADtime;
			j = Stop;
			Stop--;
//			delete
			cout<<"应缴纳的停车费:"<<time*fee<<endl;
		}
		else
		{
			Temptop++;
			parkrec[Temptop].ADinfor = park[Stop].ADinfor;
			parkrec[Temptop].Carnumber = park[Stop].Carnumber;
			parkrec[Temptop].ADtime = park[Stop].ADtime;
			Stop--;			
		}
	}
	while(Temptop >= 0)
	{
		Stop++;
		park[Stop].ADinfor = parkrec[Temptop].ADinfor;
		park[Stop].Carnumber = parkrec[Temptop].Carnumber;
		park[Stop].ADtime = parkrec[Temptop].ADtime;
		Temptop--;
	}
	if(Stop + 2 == Ntop)
	{
		if(Northroad->next != NULL && Southroad->next==NULL)
		{
			Ntop--;
			p = Northroad->next;
			park[Ntop].ADinfor = p->bcar.ADinfor;
			park[Ntop].Carnumber = p->bcar.Carnumber;
			park[Ntop].ADtime = aCar.ADtime;			
			Northroad->next = p->next;
			delete p;
		}
		if(Southroad->next != NULL && Northroad->next == NULL)
		{
			Stop++;
			p = Southroad->next;
			park[Stop].ADinfor = p->bcar.ADinfor;
			park[Stop].Carnumber = p->bcar.Carnumber;
			park[Stop].ADtime = aCar.ADtime;			
			Southroad->next = p->next;
			delete p;
		}
		if (Northroad->next != NULL && Southroad->next != NULL)
        {
			if(Northroad->next->bcar.ADtime < Southroad->next->bcar.ADtime)
			{
				Stop++;
				p = Southroad->next;
				park[Stop].ADinfor = p->bcar.ADinfor;
				park[Stop].Carnumber = p->bcar.Carnumber;
				park[Stop].ADtime = aCar.ADtime;				
				Southroad->next = p->next;
				delete p;
			}
			else
			{
				Ntop--;
				p = Northroad->next;
				park[Ntop].ADinfor = p->bcar.ADinfor;
				park[Ntop].Carnumber = p->bcar.Carnumber;
				park[Ntop].ADtime = aCar.ADtime;				
				Northroad->next = p->next;
				delete p;
			}
		}
	}
}

//南门便道停车
void Parking::Sroad(Car aCar)
{
	int i = 0;
	BCar *temp;
	BCar *p;
	temp = new BCar;
	p = Southroad;
	while(p != NULL)
	{
		i++;
		p = p->next;
	}
	cout<<"车将进入南门便道第"<<i<<"个位置"<<endl;
	temp->bcar.ADinfor = aCar.ADinfor;
	temp->bcar.ADtime = aCar.ADtime;
	temp->bcar.Carnumber = aCar.Carnumber;
	temp->next = NULL;
	Southtail->next = temp;
	Southtail = temp;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -