Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2018, 20:48   #1
Grimsever
Новичок
Джуниор
 
Регистрация: 15.05.2018
Сообщений: 1
По умолчанию Индексаторы

Здравствуйте. Дали такое задание:
Класс А предназначен для хранения характеристик объекта предметной области.
Класс В предназначен для хранения набора объектов класса А и характеристик предметной области. Для хранения набора объектов класса А определить массив.
Класс С предназначен для хранения набора объектов класса В и характеристик предметной области. Для хранения набора объектов класса В определить массив.
Для доступа к закрытым полям классов использовать свойства.
Для доступа к закрытым массивам классов В и С использовать индексаторы.
Программа должна предоставлять возможность:
 добавлять данные в любой из классов. Если данные уже существуют, то должен быть организован их выбор из списка;
 осуществлять поиск по двум критериям (по согласованию с преподавателем).
Класс А Ноутбуки. Класс В Магазин. Класс С Сеть магазинов.
Как правильно всё это дело реализовать...
Вот что пока у меня есть:
Код:
class Program
    {
        static void Main(string[] args)
        {
            ChainStores Ch = new ChainStores();
            Ch.AddStore();
            Ch.AddStore();
            Ch.AddStore();
            Ch.AddStore();
            Ch.AddStore();
            Ch.ShowStore();
            Console.ReadKey();
        }
    }
    
    public class Notebook
    {
        private string name;
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
            
        }
        private int year;
        public int Year
        {
            get
            {
                return year;
            }
            set
            {
                year = value;
            }
        }
 
        public Notebook(string Name,int Year)
        {
            name = Name;
            year = Year;
        }
       
    }
    public class Store
    {
        private Notebook[] infoA;
        public Notebook this[int index]
        {
            get
            {
                return infoA[index];
            }
            set
            {
                infoA[index] = value;
            }
        }
 
        private string nameStore;
        public string NameStore
        {
            get
            {
                return nameStore;
            }
            set
            {
                nameStore = value;
            }
        }
 
        public Notebook[] InfoA { get => infoA; set => infoA = value; }
 
        public Store(string NameStore)
        {
            infoA = new Notebook[] { new Notebook ("Asus",2001)};
            this.NameStore = NameStore;
        }
        
       
 
        public void AddNotebook()
        {
            Console.WriteLine("Введите название ноутбука");
            string Name = Console.ReadLine();
            Console.WriteLine("Введите год выпуска");
            int Year = Convert.ToInt32(Console.ReadLine());
 
            for (int i = 0; i < infoA.Length; i++)
            {
                if (infoA[i]==null)
                {
 
                    infoA[i].Name = Name;
                    infoA[i].Year = Year;
                }
            }
            
        }
        public void ShowNoteBook()
        {
            for(int i=0;i< infoA.Length;i++)
            {
               Console.WriteLine("Ноутбук:{0}  Год выпуска:{1}", infoA[i].Name, infoA[i].Year);
            }
            
        }
    }
    public class ChainStores
    {
        private Store[] infoB;
        Store s;
        
        public ChainStores()
        {
            s = new Store("Strela");
            infoB = new Store[20];
        }
        public Store this[int index]
        {
            get
            {
                return infoB[index];
            }
            set
            {
                infoB[index] = value;
            }
        }
        public void ShowStore()
        {
            for (int i = 0; i<infoB.Length; i++)
            {
                Console.WriteLine("Название магазина: {0}", infoB[i].NameStore);
                
            }
        }
        public void AddStore()
        {
            Console.WriteLine("Введите название нового магазина");
            string newstore = Console.ReadLine();
            for (int i = 0; i < infoB.Length; i++)
            {
                if(infoB[i].NameStore==null)
                infoB[i].NameStore = newstore;
            }
        }
    }
}
Хэлп кто чем может, пожалуйста
Grimsever вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C#] Задача на индексаторы Karagen Помощь студентам 1 19.10.2016 08:25
как создавать именованные индексаторы для класса OmegaBerkut C# (си шарп) 85 15.09.2016 22:15
индексаторы andrey11 C# (си шарп) 0 05.09.2012 10:58
Операции класса, индексаторы Rectangle 6666 Общие вопросы .NET 4 08.05.2012 11:31
Строки - индексаторы и свойства ArniLand Общие вопросы .NET 0 11.04.2010 16:23