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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2020, 09:11   #1
Alina266
Пользователь
 
Регистрация: 19.03.2017
Сообщений: 10
По умолчанию Работа с классами. Создать класс со списком объектов другого класса

1. Создать класс ОКНО (координаты главной диагонали, заголовок, цвет фона).
2. Определить конструкторы инициализации, копирования, свойства для изменить и чтения значений полей данного класса.
3. Создать производные классы - КНОПКА с надписью и окно с заголовком и кнопкой. Определить необходимые данные, методы для работы с данными, конструкторы и деструкторы, методы ввода-вывода.
4. Разработать класс Список ОКОН, содержащий список объектов класса окно с заголовком и кнопкой. Смоделировать закрывания окна нажатием кнопки.
5. Создать меню для работы со списком в главной программе

В каждом классе должен быть метод Show, в меню должно быть реализовано три опции: добавление объекта, удаление объекта с каким-то полем, визуализация всех объектов коллекции и выход из программы. В 4 пункте нужно создать вектор (список на массиве) или настоящий список (например односвязный) в зависимости от задачи, библиотечными коллекциями пользоваться нельзя
Alina266 вне форума Ответить с цитированием
Старый 22.06.2020, 09:11   #2
Alina266
Пользователь
 
Регистрация: 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);


}

}
Alina266 вне форума Ответить с цитированием
Старый 22.06.2020, 09:12   #3
Alina266
Пользователь
 
Регистрация: 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);
}
}

}
Alina266 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс содержащий массив объектов другого класса 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