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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

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

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

В каждом классе должен быть метод Show, в меню должно быть реализовано три опции: добавление объекта, удаление объекта с каким-то полем, визуализация всех объектов коллекции и выход из программы. В 4 пункте нужно создать вектор (список на массиве) или настоящий список (например односвязный) в зависимости от задачи, библиотечными коллекциями пользоваться нельзя.



Не нужно писать новый код, нужно поправить мой!
Alina266 вне форума Ответить с цитированием
Старый 22.06.2020, 09:27   #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);

                
            }

        }

Последний раз редактировалось BDA; 01.07.2020 в 18:16.
Alina266 вне форума Ответить с цитированием
Старый 22.06.2020, 09:28   #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);
        }
    }
    
}

Последний раз редактировалось BDA; 01.07.2020 в 18:16.
Alina266 вне форума Ответить с цитированием
Старый 22.06.2020, 09:47   #4
Pvt
Новичок
Джуниор
 
Регистрация: 05.08.2019
Сообщений: 0
По умолчанию

пишите pvt.marat@yandex.ru
e-mail: pvt.marat@yandex.ru
Pvt вне форума Ответить с цитированием
Старый 24.06.2020, 17:55   #5
Larboss
Недо
Участник клуба
 
Регистрация: 11.08.2011
Сообщений: 1,394
По умолчанию

ТЗ, срок, бюджет: larbossfreelance@yandex.ru Метка: freelance Указывайте ссылку на тему форума.
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
Larboss вне форума Ответить с цитированием
Старый 01.07.2020, 17:56   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Ааа... кошмар то какой ... модераторов нету чтобы за стилем следить??
Есть же правила оформления ...
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 10.07.2020, 09:15   #7
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Если еще актуально
______________
Обращайтесь, E_MAIL: rijgvina7@yahoo.com
1. (Техническое задание) все что требуется .
2. Сколько вы готовы заплатить за эту работу и срок выполнения работы.
3. Работаю только с предоплатой 30%
xxbesoxx вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с классами. Создать класс со списком объектов другого класса Alina266 C# (си шарп) 2 22.06.2020 09:12
Класс содержащий массив объектов другого класса 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
Работа со списком из другого модуля. DIMANJ Общие вопросы Delphi 4 11.10.2009 13:33