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. Конвертувати списки в масив. Відсортувати масив за ім'ям. Відсортувати масив за кількістю елементів у зв'язаному з ним масиві, наприклад, відсортувати масив категорій за кількістю продуктів у них. Код програми 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 WindowsFormsApplication11 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public int z = 1; class User { #region клас каристувачів public int Id{get;set; } private string Name { get; set; } public string Login { get; set; } private string Password { get; set; } public int AccessId { get; set; } private string Email { get; set; } public User(int id, string name, string login, string password, int accessid, string email) { Id = id; Name = name; Login = login; Password = password; AccessId = accessid; Email = email; } public override string ToString() { return string.Format("\r\n ID користувача - {0:D1},\r\n ім'я- {1}, \r\n логін - {2},\r\n пароль - {3},\r\n Іd прав доступу - {4:D1},\r\n email - {5}\r\n\r\n", Id, Name, Login, Password, AccessId, Email); } #endregion кінець класу } class Access { #region права доступу public int Id { get; set; } private int CommentingAndForum{get;set;} private int OrderTickets { get; set; } private int Blocking { get; set; } private int GrantRights { get; set; } private int TicketSales { get; set; } public int Reitung { get; set; } public Access(int id, int commentingandforum, int ordertickets, int blocking, int grantrights, int ticketsales,int reitung) { Id = id; CommentingAndForum = commentingandforum; OrderTickets = ordertickets; Blocking = blocking; GrantRights = grantrights; TicketSales = ticketsales; Reitung=reitung; } public override string ToString() { return string.Format("\r\n ID прав доступу- {0:D1}, \r\n коментування і форум- {1:D1}, \r\n замовлення квитків - {2:D1}, \r\n блокування - {3:D1}, \r\n надання прав - {4:D1}, \r\n продаж квитків - {5:D1},\r\n рейтинг користувача-{6:D1} \r\n", Id, CommentingAndForum, OrderTickets, Blocking, GrantRights, TicketSales,Reitung); } #endregion } class Film { #region клас фільм public int Id { get; set; } private string Description { get; set; } private string Name { get; set; } private int VotesCount { get; set; } public Film(int id, string description, string name, int votescount) { Id = id; Description = description; Name = name; VotesCount = votescount; } public override string ToString() { return string.Format("\r\n\r\n ID фільму- {0:D1}, \r\n опис- {1}, \r\n назва фільму- {2}, \r\n кількість голосів - {3:D1}", Id, Description, Name, VotesCount); } #endregion } class Session { #region клас сеанс public int Id { get; set; } public int FilmId { get; set; } public Session(int id, int filmid) { Id = id; FilmId = filmid; } public override string ToString() { return string.Format("\r\n\r\n ID сеансу- {0:D1}, \r\n ID фільму- {1:D1}", Id, FilmId); } #endregion } class ModelTest { #region ініціалізація public List<User> User = new List<User>() { new User(1,"name1","l","password1",3,"email1"), new User(2,"name2","k","password2",4,"email2"), new User(3,"name3","z","password3",1,"email3"), new User(4,"name4","f","password4",4,"email4"), new User(5,"name5","m","password5",4,"email5"), new User(6,"name6","k","password6",4,"email6") }; public List<Access> Access = new List<Access>() { new Access(1,0,0,0,0,0,1), new Access(2,1,1,0,0,0,2), new Access(3,1,1,1,0,1,3), new Access(4,1,1,1,1,1,4) }; public List<Film> Film = new List<Film>() { new Film(1,"description1","name1",3), new Film(2,"description2","name2",8), new Film(3,"description3","name1",6), new Film(4,"description4","name4",5), new Film(5,"description5","name5",3), new Film(6,"description6","name6",9), }; public List<Session> Session = new List<Session>() { new Session(1,1), new Session(2,9), new Session(3,8), new Session(4,7), new Session(5,6), new Session(6,5) }; #endregion } private static Dictionary<int, User> Ud = new Dictionary<int, User>(); private static Dictionary<int, List<Access>> AccessDictionary = new Dictionary<int, List<Access>>(); List<User> U; List<Access> A; List<Film> F; List<Session> S; private void Form1_Load(object sender, EventArgs e) { } private class UserNameComparer : IComparer<User> { public int Compare(User x, User y) { return string.Compare(x.Login, y.Login); } } private class UserGroupComparer : IComparer<User> { public int Compare(User x, User y) { return x.ToString().CompareTo(y.ToString()); } } private void button1_Click(object sender, EventArgs e) { # region вивід даних з таблиць textBox1.Text = textBox1.Text + " Таблиця користувачів: "; ModelTest bd = new ModelTest(); U = bd.User; foreach (User us in U) textBox1.Text = textBox1.Text + us.ToString(); textBox1.ForeColor = Color.Blue; textBox1.Text = textBox1.Text + " Таблиця прав доступу: "; A = bd.Access; foreach (Access ac in A) textBox1.Text = textBox1.Text + ac.ToString(); textBox1.Text = textBox1.Text + " Таблиця фільмів: "; F = bd.Film; foreach (Film fi in F) textBox1.Text = textBox1.Text + fi.ToString(); textBox1.Text = textBox1.Text + " Таблиця сеансів: "; S = bd.Session; foreach (Session se in S) textBox1.Text = textBox1.Text + se.ToString(); #endregion textBox2.Text = ""; Ud.Clear(); foreach (User us in U) Ud.Add(us.Id, us); AccessDictionary.Clear(); foreach (Access c in A) if (AccessDictionary.ContainsKey(c.Id)) AccessDictionary[c.Id].Add(c); else { List<Access> tmpList = new List<Access>(); tmpList.Add(c); AccessDictionary.Add(c.Id, tmpList); } } private void button2_Click(object sender, EventArgs e) { textBox2.Text = ""; if (z==6) z=1; textBox2.Text = ""; textBox2.Text = textBox2.Text + Ud[int.Parse(numericUpDown1.Text)].ToString(); User[] UArray = U.ToArray(); foreach (Access c in AccessDictionary[UArray[int.Parse(numericUpDown1.Text)-1].AccessId]) { textBox2.Text = textBox2.Text + c.ToString(); z++; } } private void button3_Click(object sender, EventArgs e) { textBox3.Text = ""; U.Sort(new UserNameComparer()); foreach (User us in U) textBox3.Text = textBox3.Text + us.ToString(); } private void button4_Click(object sender, EventArgs e) { textBox4.Text = ""; Access [] RArray = A.ToArray(); User[] UArray = U.ToArray(); int[] UserReiting = new int[RArray.Length]; for (int i = 0; i < RArray.Length; i++) UserReiting[RArray[i].Reitung - 1]++; Array.Sort(UserReiting, UArray); foreach (User us in UArray) textBox4.Text = textBox4.Text + us.ToString(); } private void label2_Click(object sender, EventArgs e) { } } } Результати виконання 
Антиботан аватар за замовчуванням

2015

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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