DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Робота з колекціями та масивами

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2015
Тип роботи:
Звіт
Предмет:
Інші
Група:
ПІ

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” КАФЕДРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ  Звіт До лабораторної роботи № 4 На тему: “ Робота з колекціями та масивами ” З дисципліни : "Конструювання програмного забезпечення" Мета: Навчитися прицювати з колекціями System.Collections.Generic та масивами Завдання: На цій лабораторній необхідно реалізувати Кілька класів, що реалізують 4 взаємозв'язані об'єкти, які є у базі даних, та конструктор до них. "фіктивний об'єкт" - базу даних, який буде повертати список цих об'єктів (Щонайменше 4 для об'єктів які містять більше 9 полів, щонайменше 8 для решти) Вивести на консоль вміст усіх об'єктів перевизначивши метод ToStringО Відповідно до завдання реалізуйте декілька зв'язаних класів. Розробити "фіктивний об'єкт" (Mock-object), що симулює табличні дані. Перевизначити метод ToStringО. Використовуючи команду String.Format Вивести на консоль усі дані використовуючи цикл foreach. Розробити і заповнити структуру, у якій за ключем можна витягнути окремий клас, або їх список. Dictionary<Guid productID, Product> - хеш-таблиця продуктів. Dictionary<Guid categorylD, List<Product>> - хеш-таблиця категорій продуктів. За ключем категорії отримати список продуктів цієї категорії. Відсортувати за якимось критерієм використовуючи шаблон IComparer. Конвертувати списки в масив. Відсортувати масив за ім'ям. Відсортувати масив за кількістю елементів у зв'язаному з ним масиві, наприклад, відсортувати масив категорій за кількістю продуктів у них. Код програми Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace lab4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private static Dictionary<int, Room> RoomDictionary = new Dictionary<int, Room>(); private static Dictionary<int, List<Habitant>> HabitantDictionary = new Dictionary<int, List<Habitant>>(); List<LogIn> LogList; List<Room> RoomList; List<Account> AccountList; List<Habitant> HabitantList; private void button1_Click(object sender, EventArgs e) { Test DataBase = new Test(); LogList = DataBase.LogIn; RoomList = DataBase.Room; AccountList = DataBase.Account; HabitantList = DataBase.Habitant; OutData.Text = "Інформація про Жителів : \r\n"; foreach (Habitant hab in HabitantList) OutData.Text = OutData.Text + hab.ToString(); OutData.Text = OutData.Text + "\r\nІнформація про рахунки : \r\n"; foreach (Account acc in AccountList) OutData.Text = OutData.Text + acc.ToString(); OutData.Text = OutData.Text + "\r\nІнформація про кімнати: \r\n"; foreach (Room r in RoomList) OutData.Text = OutData.Text + r.ToString(); OutData.Text = OutData.Text + "\r\nІнформація про логіни: \r\n"; foreach (LogIn log in LogList) OutData.Text = OutData.Text + log.ToString(); //Запoвнення словників RoomDictionary.Clear(); foreach (Room r in RoomList) RoomDictionary.Add(r.RoomId, r); HabitantDictionary.Clear(); foreach (Habitant hab in HabitantList) if (HabitantDictionary.ContainsKey(hab.RoomId)) HabitantDictionary[hab.RoomId].Add(hab); else { List<Habitant> tmpList = new List<Habitant>(); tmpList.Add(hab); HabitantDictionary.Add(hab.RoomId, tmpList); } foreach (Room r in RoomList) UsersComboBox.Items.Add(r.RoomId); tabControl1.Enabled = true; } private void UserInformation_Click(object sender, EventArgs e) { if (UsersComboBox.Text == "") { Consol1.Text = "Не вибрано ID кімнати"; return; } Consol1.Text = string.Format("Інформація про кімнату з ID - {0:D3}\r\n\r\n", UsersComboBox.Text); Consol1.Text = Consol1.Text + RoomDictionary[int.Parse(UsersComboBox.Text)].ToString(); Consol1.Text = Consol1.Text + string.Format("Там проживають:\r\n\r\n", HabitantDictionary[int.Parse(UsersComboBox.Text)].Count); foreach (Habitant hab in HabitantDictionary[int.Parse(UsersComboBox.Text)]) Consol1.Text = Consol1.Text + hab.ToString(); } private class UserNameComparer : IComparer<Habitant> { public int Compare(Habitant x, Habitant y) { return string.Compare(x.Name, y.Name); } } private class UserTelephonComparer : IComparer<Habitant> { public int Compare(Habitant x, Habitant y) { if (x.NumTel == y.NumTel) return 0; if (x.NumTel < y.NumTel) return -1; if (x.NumTel > y.NumTel) return 1; return x.ToString().CompareTo(y.ToString()); } } private void Sort1_Click(object sender, EventArgs e) { if (radioButton1.Checked) { Console2.Clear(); HabitantList.Sort(new UserNameComparer()); foreach (Habitant hab in HabitantList) Console2.Text = Console2.Text + hab.ToString(); } if (radioButton2.Checked) { Console2.Clear(); HabitantList.Sort(new UserTelephonComparer()); foreach (Habitant hab in HabitantList) Console2.Text = Console2.Text + hab.ToString(); } } private void Sort2_Click(object sender, EventArgs e) { Habitant[] UsersArray = HabitantList.ToArray(); if (radioButton3.Checked) { Console3.Clear(); Array.Sort(UsersArray, new UserNameComparer()); foreach (Habitant hab in UsersArray) Console3.Text = Console3.Text + hab.ToString(); } if (radioButton4.Checked) { Console3.Clear(); Array.Sort(UsersArray,new UserTelephonComparer()); foreach (Habitant hab in UsersArray) Console3.Text = Console3.Text + hab.ToString(); } } } } Account.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class Account { private int roomid; public int RoomId { get { return roomid; } set { roomid = value; } } private int accountid; public int AccountId { get { return accountid; } set { accountid = value; } } private long numaccount; public long NumAccount { get { return numaccount; } set { numaccount = value; } } private string typeaccount; public string TypeAccount { get { return typeaccount; } set { typeaccount = value; } } private int materbegin; public int MaterBegin { get { return materbegin; } set { materbegin = value; } } private int materend; public int MaterEnd { get { return materend; } set { materend = value; } } private int priceatone; public int PriceAtOne { get { return priceatone; } set { priceatone = value; } } private int sumtopayment; public int SumToPayment { get { return sumtopayment; } set { sumtopayment = value; } } public Account(int RId,int AId,int NA, string TA, int MB,int ME, int PAO,int STP) { RoomId = RId; AccountId = AId; NumAccount = NA; TypeAccount = TA; MaterBegin = MB; MaterEnd = ME; PriceAtOne = PAO; SumToPayment =STP; } public override string ToString() { return string.Format("ID кімнати - {0:D3},ID рахунку - {1:D3}, номер рахунку - {2}, тип рахунку - {3}, почаковий показник - {4},кінцевий показник - {5},ціна за одиницю - {6},сума до оплати - {7}\r\n\r\n", RoomId, AccountId, NumAccount, TypeAccount, MaterBegin, MaterEnd, PriceAtOne,SumToPayment); } } } Habitant.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class Habitant { private int roomid; public int RoomId { get { return roomid; } set { roomid = value; } } private int habitantid; public int HabitantId { get { return habitantid; } set { habitantid = value; } } private string name; public string Name { get { return name; } set { name = value; } } private string lastname; public string LastName { get { return lastname; } set { lastname = value; } } private string patronymic; public string Patronimic { get { return patronymic; } set { patronymic = value; } } private long numtel; public long NumTel { get { return numtel; } set { numtel = value; } } public Habitant(int RId, int HId, string N, string LN, string Pat, long NT) { RoomId = RId; HabitantId = HId; Name = N; LastName = LN; Patronimic = Pat; NumTel = NT; } public override string ToString() { return string.Format("ID кімнати - {0:D3},ID жителя - {1},імя - {2}, прізвище - {3}, побатькові - {4}, телефон - {5}\r\n\r\n", RoomId,HabitantId,Name, LastName, Patronimic, NumTel); } } } LogIn.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class LogIn { private int roomid; public int RoomId { get { return roomid; } set { roomid = value; } } private string login; public string Login { get { return login; } set { login = value; } } private string pass; public string Pass { get { return pass; } set { pass = value; } } public LogIn(int RId, string log, string pas) { RoomId = RId; Login = log; Pass = pas; } public override string ToString() { return string.Format("ID Кімнати - {0:D3}, логін - {1}, пароль - {2},\r\n\r\n", RoomId, Login, Pass); } } } Room.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class Room { private int roomid; public int RoomId { get { return roomid; } set { roomid = value; } } private int numroom; public int NumRoom { get { return numroom; } set { numroom = value; } } private int overroom; public int OverRoom { get { return overroom; } set { overroom = value; } } private int amoynthabitant; public int AmoyntHabitant { get { return amoynthabitant; } set { amoynthabitant = value; } } public Room(int RId, int NR, int OR, int AH) { RoomId = RId; NumRoom = NR; OverRoom = OR; AmoyntHabitant = AH; } public override string ToString() { return string.Format("ID кімнати - {0:D3},номер кімнати - {1}, поверх - {2}, кількість жителів - {3}\r\n\r\n", RoomId,NumRoom, OverRoom, AmoyntHabitant); } } } Test.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class Test { public List<LogIn> LogIn = new List<LogIn>() { new LogIn(001,"archi","123"), new LogIn(002,"sonik","321"), new LogIn(003,"Losa","1357"), new LogIn(004,"Dukuj","246"), }; public List<Room> Room = new List<Room>() { new Room(001,12,1,2), new Room(002,15,1,1), new Room(003,26,2,3), new Room(004,100,4,1), }; public List<Habitant> Habitant = new List<Habitant>() { new Habitant(001,011,"Віктор","Павлик","Романович",80327654822), new Habitant(001,012,"Ганна","Павлик","Михайлівна",80974563219), new Habitant(002,021,"Наталя","Лев","Іванівна",80993452167), new Habitant(003,031,"Катя","Зискун","Степанівна",80964356222), new Habitant(003,032,"Саша","Музика","Ігорівна",80661111999), new Habitant(003,033,"Оксана","Лешко","Іванівна",80973435222), new Habitant(004,041,"Тарас","Шпить","Богданович",80632367854), }; public List<Account> Account = new List<Account>() { new Account(001,123,029911,"Електроенергія",234,321,1,87), new Account(002,134,019991,"Водопостачання",345,409,2,128), new Account(003,144,092222,"Опалення",123,234,3,333), new Account(004,111,099944,"Водопостачання",111,156,2,90), new Account(002,112,098777,"Опалення",222,435,3,639), }; } } Результати виконання   
Антиботан аватар за замовчуванням

2015

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!