private void KiírKihasználtság(Műtő műtőA, Műtő műtőB, Műtő műtőC) { Console.WriteLine(); Console.WriteLine(műtőA.getNév() + " kihasználtsága: " + műtőA.hasznaltPercek + " perc; Értéke: " + műtőA.SumSúlyosság); Console.WriteLine(műtőB.getNév() + " kihasználtsága: " + műtőB.hasznaltPercek + " perc; Értéke: " + műtőB.SumSúlyosság); Console.WriteLine(műtőC.getNév() + " kihasználtsága: " + műtőC.hasznaltPercek + " perc; Értéke: " + műtőC.SumSúlyosság); }
public void Beosztás() { Műtő műtőA = VisszaLépésselBeoszt("Quelana"); Műtő műtőB = VisszaLépésselBeoszt("Quelaan"); Műtő műtőC = VisszaLépésselBeoszt("Quelaag"); KiírKihasználtság(műtőA, műtőB, műtőC); // Egyszerűbb ellenőrzés végett }
private Műtő VisszaLépésselBeoszt(String MűtőNév) { Műtő műtő = new Műtő(MűtőNév); try { if (Betegek.Size() == 0) { throw new NincsenekBetegekKivétel(műtő.getNév()); } int[] megoldás = new int[Betegek.Size()]; int[] legjobbMegoldás = new int[Betegek.Size()]; Beoszt(0, 0, megoldás, legjobbMegoldás); for (int i = 0; i < legjobbMegoldás.Length; i++) { if (legjobbMegoldás[i] == 1) { műtő.Beoszt(Betegek.Get(i)); } } for (int m = 0; m < műtő.betegek.Size(); m++) { Műtés(műtő.betegek.Get(m)); } if (műtő.hasznaltPercek <= 360) { throw new TúlSokSzabadIdőKivétel(műtő.getNév()); } } catch (NincsenekBetegekKivétel e) { Console.WriteLine(Environment.NewLine + "!!!!!!!!!!!!"); Console.WriteLine("Nem lehet beosztást készíteni a " + e.msg + " műtőhöz, mert nincs elég beteg!"); Console.WriteLine("!!!!!!!!!!!!"); } catch (TúlSokSzabadIdőKivétel e) { Console.WriteLine(Environment.NewLine + "!!!!!!!!!!!!"); Console.WriteLine("A " + e.msg + " műtőben több mint 2 óra szabad idő maradt a napra!"); Console.WriteLine("!!!!!!!!!!!!"); } return(műtő); }