чатку штормаto_sEnd;// час до закінчення шторму * p;//покажчик на порт: (); stormStart ();// початок штормаstormEnd ();// закінчення штормаArrival_Sea (Tanker4 * t);// прибуття танкера четвертого тіпаArrival_Sea ();// прибуття танкера типів 1,2,3 Arrival_coast (Tanker * t);// танкер вимагає отчаліваніяDeparture ();// закінчення отчаліваніяArrival ();// закінчення прічаліваніяrun ();// діспетчерputPort (Port * a); choice ();// вибір танкера для обслужіваніяPrint (); p>
};
// Клас ПортPort {static int volume = 3; * queue;// чергу на навантаження ** serving;// завантажувані танкери * to_serve;// час до закінчення погрузкіq_length;//довжина черги * t;// покажчик на буксир: ();
~ Port (); Arrival (Tanker * a);// прибуття танкераComplete (int i);// завершення погрузкіputTug (Tug * a); Print (); FirstAvail (); Busy () ; run ();// диспетчер
}; :: Tanker () {r; = entered; = 0;
// Розігрування типу танкера = rand ()% 100 +1; (r> = 25) type = 1; if (r <= 55) type = 2; type = 3; (type) {1: median = 1080; offset = 120; break; 2: median = 1440; offset = 180; break; 3: median = 2160; offset = 240; break;
}
} Tanker :: Print () {(state) {1: printf ("Танкер №% ld типу% d знаходиться в черзі на причалювання. Штормить n", id, type); break ; 2: printf ("Танкер №% ld типу% d знаходиться в черзі на причалювання. Шторми немає n", id, type); break; 3: printf ("Танкер №% ld типу% d причалює n" , id, type); break; 4: printf ("Танкер №% ld типу% d знаходиться в порту в черзі на вантаження n", id, type); break; 5: printf ("Танкер №% ld типу % d вантажиться в порту n ", id, type); break; 6: printf (" Танкер №% ld типу% d знаходиться в черзі на відчалювання. Штормить n ", id, type); break; 7: printf ("Танкер №% ld типу% d знаходиться в черзі на відчалювання. Шторми немає n", id, type); break; 8: printf ("Танкер №% ld типу% d відчалює n", id, type ); break;
}
}
// Початковий стан танкера четвертого типу - 9 :: Tanker4 (int i) {= i; = 0; = 9; = 4; _arrival = get_uniform (median_path, offset_path); = 1260; = 180;
} Tanker4 :: putTug (Tug * a) {= a;
} Tanker4 :: Print () {(state) {1: printf ("Танкер №% ld типу% d знаходиться в черзі на причалювання. Штормить n", id, type); break ; 2: printf ("Танкер №% ld типу% d знаходиться в черзі на причалювання. Шторми немає n", id, type); break; 3: printf ("Танкер №% ld типу% d причалює n" , id, type); break; 4: printf ("Танкер №% ld типу% d знаходиться в порту в черзі на вантаження n", id, type); break; 5: printf ("Танкер №% ld типу % d вантажиться в порту n ", id, type); break; 6: printf (" Танкер №% ld типу% d знаходиться в черзі на відчалювання. Штормить n ", id, type); break; 7: printf ("Танкер №% ld типу%...