示例#1
0
        }                             //ha fogadtak a hivast, akkor a beszelgetes kezdete

        public Hivas(int id, string adat)
        {
            ID = id;
            string[] adatok = adat.Split(' ');
            Hiv  = new Ido(adatok[0], adatok[1], adatok[2]);
            Bont = new Ido(adatok[3], adatok[4], adatok[5]);
            Kezd = new Ido("0", "0", "0");
        }
示例#2
0
        static void Input()
        {
            using (System.IO.StreamReader sr = new System.IO.StreamReader("hivas.txt"))
            {
                Ido veg = new Ido("12", "0", "0");
                N = 0;
                //az 0. hívás a nyitás előtt "foglalt jelzést ad"
                hivasok.Add(new Hivas(N, "0 0 0 8 0 0"));

                int utolso = 0;
                while (!sr.EndOfStream)
                {
                    N++;
                    hivasok.Add(new Hivas(N, sr.ReadLine()));

                    /*Beszélgetés kezdete = hívás pillanata vagy az előző beszélgetés vége, ami  megelőző legutolsó bontás.
                     * Munkaidő előtt a 0. hívó "beszél", munkaidő után nem lehet beszélni.
                     * Ha a hívást fogadják, az adott hívás bontása lesz a foglaltság utolsó pillanata
                     */
                    if (hivasok[N].Hiv.mpTicks() < veg.mpTicks() &&
                        hivasok[N].Bont.mpTicks() > hivasok[utolso].Bont.mpTicks())
                    {
                        /*
                         * Ha az előző beszélgetés bontása a hívást követően volt, akkor a bontás pillanata lesz a kezdés
                         */
                        if (hivasok[N].Hiv.mpTicks() < hivasok[utolso].Bont.mpTicks())
                        {
                            hivasok[N].Kezd = hivasok[utolso].Bont;
                        }
                        /*ha hívás előtt volt az előző bontása, akkor a hívás ideje lesz a beszélgetés kezdete*/
                        else
                        {
                            hivasok[N].Kezd = hivasok[N].Hiv;
                        }
                        utolso = N;
                    }
                }
            }
        }
示例#3
0
        private static void Egyidopont()
        {
            Console.Write("Adjon meg egy idopontot! (ora perc masodperc): ");
            string[] adatok  = Console.ReadLine().Split(' ');
            int      idopont = new Ido(adatok[0], adatok[1], adatok[2]).mpTicks();

            int beszelo = -1;
            int db      = 0;
            int i       = 1;

            while (i <= N && hivasok[i].Bont.mpTicks() < idopont)
            {
                i++;
            }
            if (i <= N)
            {
                beszelo = i;

                while (hivasok[i].Hiv.mpTicks() <= idopont)
                {
                    if (hivasok[i].Bont.mpTicks() > idopont)
                    {
                        db++;
                    }
                    i++;
                }
            }
            if (db == 0)
            {
                Console.WriteLine("Nem volt beszelo.");
            }
            else
            {
                Console.WriteLine("A varakozok szama: {0} a beszelo a {1}. hivo", db - 1, hivasok[beszelo].ID);
            }
        }