|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.06.2020, 09:11 | #1 |
Пользователь
Регистрация: 19.03.2017
Сообщений: 10
|
Работа с классами. Создать класс со списком объектов другого класса
1. Создать класс ОКНО (координаты главной диагонали, заголовок, цвет фона).
2. Определить конструкторы инициализации, копирования, свойства для изменить и чтения значений полей данного класса. 3. Создать производные классы - КНОПКА с надписью и окно с заголовком и кнопкой. Определить необходимые данные, методы для работы с данными, конструкторы и деструкторы, методы ввода-вывода. 4. Разработать класс Список ОКОН, содержащий список объектов класса окно с заголовком и кнопкой. Смоделировать закрывания окна нажатием кнопки. 5. Создать меню для работы со списком в главной программе В каждом классе должен быть метод Show, в меню должно быть реализовано три опции: добавление объекта, удаление объекта с каким-то полем, визуализация всех объектов коллекции и выход из программы. В 4 пункте нужно создать вектор (список на массиве) или настоящий список (например односвязный) в зависимости от задачи, библиотечными коллекциями пользоваться нельзя |
22.06.2020, 09:11 | #2 |
Пользователь
Регистрация: 19.03.2017
Сообщений: 10
|
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { class Program { class Windows { int diag1; string zagolovok, color; public Windows() { diag1 = 0; zagolovok = "no"; color = "no"; } public Windows(Windows w) { this.diag1 = w.diag1; this.zagolovok = w.zagolovok; this.color = w.color; } public Windows(int diag1, string zagolovok, string color) { Diag1 = diag1; Zagolovok = zagolovok; Color = color; } public string Zagolovok { get { return zagolovok; } set { zagolovok = value; } } public int Diag1 { get { return diag1; } set { diag1 = value; } } public string Color { get { return color; } set { color = value; } } public void Show() { Console.WriteLine(diag1 + ',' + zagolovok + ',' + color); } } class Button : Windows { string nazv, colorr; public Button() { nazv = "no"; colorr = "no"; } public Button(Button b) { this.nazv = b.nazv; this.colorr = b.colorr; } public string Nazvanie { get { return nazv; } set { nazv = value; } } public string Colorr { get { return colorr; } set { colorr = value; } } public void Input(string nazv, string color) { Console.WriteLine("Vvedite nazvanie"); nazv = Console.ReadLine(); Console.WriteLine("Vvedite color"); colorr = Console.ReadLine(); } public void Show() { Console.WriteLine(nazv + '-' + colorr); } } class Window_button_zagolovok:Windows { string zagolovok_okna, nazv_knopki, colorr; public Window_button_zagolovok() { zagolovok_okna = "no"; nazv_knopki = "no"; colorr = "no"; } public Window_button_zagolovok(string zagolovok_okna, string nazv_knopki, string colorr) { this.zagolovok_okna = zagolovok_okna; this.nazv_knopki = nazv_knopki; this.colorr = colorr; } public Window_button_zagolovok(int diag1, string zagolovok, string color, string zagolovok_okna, string nazv_knopki, string colorr) { Nazvanie = nazv_knopki; Colorr = colorr; } public string Colorr { get { return colorr; } set { colorr = value; } } public string Nazvanie { get { return nazv_knopki; } set { zagolovok_okna = value; nazv_knopki = value; colorr = value; } } public void Input(string zagolovok_okna, string nazv_knopki, string color) { Console.WriteLine("Vvedite nazvanie"); zagolovok_okna = Console.ReadLine(); Console.WriteLine("Vvedite nazvanie knopki"); nazv_knopki = Console.ReadLine(); Console.WriteLine("Vvedite color"); color = Console.ReadLine(); } public void Show() { base.Show(); Console.WriteLine( zagolovok_okna+" "+nazv_knopki + " " + colorr+" "); } } class Windows_list { Window_button_zagolovok[] mas; int index; public Windows_list (int size=10) { index = 0; mas = new Window_button_zagolovok[size]; } public void Add(Window_button_zagolovok w_b_z) { if(index<mas.Length) { mas[index++] = w_b_z; } else Console.WriteLine("list over!"); } public void Dell(int nomer) { if(index==0) Console.WriteLine("list are clear"); else if (nomer<index && nomer>=0) { for (int i=nomer; i<index; i++) { mas[i] = mas[i + 1]; } index--; Console.WriteLine("delete complete"); } } public void Show() { if(index==0) Console.WriteLine("list clear!"); else for(int i=0; i<index; i++) { Console.WriteLine(i+". "); mas[i].Show(); } } public void Open_close() { bool window = true;//open string flag; ConsoleKeyInfo key; do { if (window == true) flag = "open"; else flag = "close"; Console.WriteLine("Rightnow windows" + flag); Console.WriteLine("for open press 'up arrow', for close 'down arrow' (press ESC to exit)"); key = Console.ReadKey(); if (key.Key == ConsoleKey.UpArrow) { window = true; } else { if (key.Key == ConsoleKey.DownArrow) { window = false; } } } while (key.Key != ConsoleKey.Escape); } } |
22.06.2020, 09:12 | #3 |
Пользователь
Регистрация: 19.03.2017
Сообщений: 10
|
static void Main()
{ Windows windows = new Windows(); Windows_list w_list = new Windows_list(); bool F = true; do { Console.WriteLine("1.Посмотреть весь список"); Console.WriteLine("2.Добавить єлемент"); Console.WriteLine("3.Удалить єлемент"); Console.WriteLine("4.Закрыть/открыть окно"); Console.WriteLine(" 0.Выйти"); int point = Convert.ToInt32(Console.ReadLine()) ; switch (point) { case 0: { F = false; }; break; case 1: w_list.Show(); break; case 2: { Console.WriteLine("Введите размер диагонали"); int diag = Convert.ToInt32(Console.ReadLine()) ; Console.WriteLine("Введите заголовок"); string zag = Convert.ToString(Console.ReadLine() ); Console.WriteLine("Введите цвет"); string color = Convert.ToString(Console.ReadLine() ); Console.WriteLine("Введите заголовок окна"); string zag_okn = Convert.ToString(Console.ReadLine() ); Console.WriteLine("Введите название кнопки"); string naz_knop = Convert.ToString(Console.ReadLine() ); Console.WriteLine("Введите цвет кнопки"); string Bcolor = Convert.ToString(Console.ReadLine() ); Window_button_zagolovok win = new Window_button_zagolovok(diag, zag, color, zag_okn, naz_knop, Bcolor); w_list.Add(win); }; break; case 3: { Console.WriteLine("Введите индекс по которому хотите удалить"); int index = Convert.ToInt32(Console.ReadLine()) ; w_list.Dell(index); }; break; case 4: { w_list.Open_close(); }; break; default: Console.WriteLine("error!"); break; } } while (F); } } } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Класс содержащий массив объектов другого класса Cli | Вероника99 | Общие вопросы C/C++ | 14 | 28.05.2016 13:52 |
Создать класс, позволяющий работать с односвязным списком | Алёсенька | Помощь студентам | 1 | 22.09.2012 14:33 |
Создать динамически n объектов класса! | niixon | Общие вопросы C/C++ | 5 | 04.08.2012 10:54 |
В классе создать массив элементов из другого класса | LadyDisco | Общие вопросы по Java, Java SE, Kotlin | 0 | 02.05.2011 02:48 |
Работа со списком из другого модуля. | DIMANJ | Общие вопросы Delphi | 4 | 11.10.2009 13:33 |