Esempio n. 1
0
        public static void RaktarbaPakolasMoho()
        {
            LancoltLista <Csomag> Kimenet     = new LancoltLista <Csomag>();
            LancoltLista <Csomag> SegedCsomag = KiszallítasraVaroCsomagok.CsakBeolvas("Meghiúsultszállítások.txt");

            if (OsszMeret(Kimenet) <= raktarmeret) // megnézzük h az összes csomag befér-e a raktárba
            {
                foreach (Csomag akt in SegedCsomag)
                {
                    Kimenet.PrioritasBerakCsokkeno(akt, akt.Meret);
                }
            }
            else // ha nem, mohó algoritmussal bepakoljuk amit tudunk a többit pedig visszavisszük a küldőnek
            {
                Kimenet = ListaRendezErtek(SegedCsomag);
                SegedCsomag.EgeszListaTorles();
                foreach (Csomag akt in SegedCsomag)
                {
                    if (OsszMeret(Kimenet) < raktarmeret)
                    {
                        SegedCsomag.PrioritasBerakCsokkeno(akt, akt.Ertek);
                    }
                }
            }
            Kimenet = SegedCsomag;
            foreach (Csomag akt in Kimenet)
            {
                KiszallitandoCsomagKeszit.Kiirat(akt, "BeolvasniValoTxt.txt");
            }
        }
Esempio n. 2
0
        }//Szimulálja a futár úton tölött idejét

        public static void Ksz(Csomag Csomag, Stopwatch sw) // sw kell mert leellenőrzi egyáltalán van-e még ideje kiszállítani
        {
            FutarIdo();
            if (sw.ElapsedMilliseconds / 1000 < Csomag.Prioritas && Csomag.Prioritas != 100 && Csomag.Prioritas != -1 && rnd.Next(0, 101) < 90)
            {
                KiszallitandoCsomagKeszit.Kiirat(Csomag, "Kivitt.txt");
                Console.WriteLine("A csomag sikeresen kézbesítve lett: " + Csomag.Fajta);
            }
            else if (Csomag.Prioritas == -1 && rnd.Next(0, 101) < 90)
            {
                KiszallitandoCsomagKeszit.Kiirat(Csomag, "Kivitt.txt");
                Console.WriteLine("A csomag sikeresen kézbesítve lett: " + Csomag.Fajta);
            }
            else if (Csomag.Prioritas == 100 && rnd.Next(0, 101) < 90)
            {
                KiszallitandoCsomagKeszit.Kiirat(Csomag, "Kivitt.txt");
                Console.WriteLine("A csomag sikeresen kézbesítve lett: " + Csomag.Fajta);
            }
            else
            {
                throw new NemSikerultAKisszallítas(Csomag, "Nem sikerült a kiszállítás az alábbi csomagnál: " + Csomag.Fajta + " " + Csomag.Prioritas + " " + Csomag.Meret + " " + Csomag.Ertek);
            }
        }//Kiszállítást szimláló metódus
Esempio n. 3
0
        } // teszteléshez

        static void KiirTxtbe(Csomag csomag)
        {
            KiszallitandoCsomagKeszit.Kiirat(csomag, "Meghiúsultszállítások.txt");
        }