Beispiel #1
0
        void ReadText()
        {
            fileName = Path.ChangeExtension(fileName, ".txt");
            StreamReader sr = FileOpen("read") as StreamReader;

            if (sr == null)
            {
                Console.WriteLine("Could not open: " + fileName);
                return;
            }
            Console.WriteLine("Reading from: " + Path.GetFileName(fileName));
            string line;

            while ((line = sr.ReadLine()) != null)
            {
                if (line == "")
                {
                    continue;
                }
                Man m;
                switch (line[0])
                {
                case 'S': m = new Stud(); break;

                case 'P': m = new Prof(); break;

                default: return;
                }
                char[]   separator = { ':', ';' };
                string[] tokens    = line.Split(separator);
                m.Read(tokens);
                men.Add(m);
            }
            sr.Close();
        }
Beispiel #2
0
        public void Add()
        {
            while (true)             // Пусть пользователь вводит, пока ему не надоест
            {
                Man m = null;
                switch (ManMenu())
                {
                case 'q': return;

                case 's': m = new Stud(); break;

                case 'p': m = new Prof(); break;

                default: continue;
                }
                m.In();
                men.Add(m);
                bModified = true;                       // Список изменился
            }
        }
Beispiel #3
0
        public void Add()
        {
            while (true)             // Пусть пользователь вводит, пока ему не надоест
            {
                Man m = null;        // Пока пустая ссылка
                switch (ManMenu())   // Это меню должно предлагать выбор: Stud или Prof
                {
                case 'q': return;

                case 's': m = new Stud(); break;

                case 'p': m = new Prof(); break;

                default: continue;
                }
                // Вызовите виртуальный метод ввода данных. Здесь работает полиморфизм позднего связывания
                m.In();
                //==== Добавьте ссылку в коллекцию
                men.Add(m);
                bModified = true;                       // Список изменился
            }
        }
Beispiel #4
0
        void ReadText()
        {
            fileName = Path.ChangeExtension(fileName, ".txt");
            // Обратитесь к методу FileOpen("read") и приведите тип (as StreamReader)
            StreamReader sr = FileOpen("read") as StreamReader;             // Обратитесь к методу FileOpen("read") и приведите тип (as StreamReader)

            if (sr == null)
            {
                Console.WriteLine("Could not open: " + fileName);
                return;
            }
            Console.WriteLine("Reading from: " + Path.GetFileName(fileName));
            string line;

            while ((line = sr.ReadLine()) != null)
            {
                if (line == "")
                {
                    continue;
                }
                Man m;
                switch (line[0])
                {
                case 'S': m = new Stud(); break;

                case 'P': m = new Prof(); break;

                default: return;
                }
                char[]   separator = { ':', ';' };
                string[] tokens    = line.Split(separator); // Разбейте строку на подстроки с помощью метода Split
                m.Read(tokens);                             // Здесь работает полиморфизм поздего связывания
                men.Add(m);
            }
            sr.Close();
        }
Beispiel #5
0
        }                                                                       //  Useful constructor

        public Prof(Prof prof)
            : base(prof)
        {
            this.pubs = prof.pubs;
        }