#include "Svincolo.h" #include "Casello.h" #include "Veicolo.h" #include void Svincolo::inserisciCasello(Casello * c) { _caselli.push_back(c); } void Svincolo::accodaVeicolo( Veicolo * v ) { cout << " accodamento veicolo" << endl; vector::iterator i; vector::iterator cMin = _caselli.end(); double tMin = 1e+10; for ( i=_caselli.begin(); i !=_caselli.end(); i++) { double t = (*i)->attesa(); bool caselloUtilizzabile = ( (*i)->telePass() && v->telePass() ) || ( (*i)->viaCard() && v->viaCard() ) || ( (*i)->contanti()&& v->contanti() ); if ( caselloUtilizzabile && t < tMin ) { cMin = i; tMin=t; } } if ( cMin != _caselli.end() ) { (*cMin)->aggiungiVeicolo( v ); cout << " veicolo inserito al casello n. " << ( cMin - _caselli.begin() ) << endl << " attesa: " << tMin<< " auto " << endl; } else { cerr << "Il veicolo non puo' essere accodato!" << endl; abort(); } }