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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” КАФЕДРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ  Звіт До лабораторної роботи № 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) { } } } Результати виконання 
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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