Розроблення класу С# та перевантаження операцій

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
СІ
Кафедра:
Кафедра КСА

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

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Операційні системи телекомунікаційних мереж
Варіант:
4 14 1

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Інститут Комп’ютерних Технологій, Автоматики та Метрології Кафедра КСА / Лабораторна робота №2 з дисципліни: «Операційні системи» Варіант: 4 Мета роботи Розроблення класу С# та перевантаження операцій. Завдання Створити клас «Яблуко» який містить в собі: сорт, колір, середню вагу, коефіцієнт сочності, середній термін достигання, кількість зернят, термін зберігання у сирому вигляді. Обчислити термін зберігання у консервованому вигляді, середня кількість яблук на дереві. З обмеженнями: значення коефіцієнта сочності у межах від 0,2 до 0,95; назва сорту не довше 15 символів; термін зберігання у сирому вигляді у межах від 15 до 120 днів. І перевантажити операції +, *, ==. Код програми class Apple:IDisposable { private static int Number_of_objects = 0; private System.IO.StreamWriter file; private readonly string variety; private string colour = ""; private double average_weight = 0; private double coefficient_of_juicy = 0; private int average_term_of_maturation = 0; private int number_of_grains = 0; private int shelf_life_of_raw = 0; public string Variety { get { return variety; } } public string Colour { get { return colour; } set { if (colour == "") file.WriteLine("Його колiр " + value); else file.WriteLine("Колiр змiнено на " + value); colour = value; } } public double Average_weight { get { return average_weight; } set { if (average_weight == 0) file.WriteLine("Його середня вага {0} (г)", value); else file.WriteLine("Середня вага змiнена на {0} (г)", value); average_weight = value; } } public double Coefficient_of_juicy { get { return coefficient_of_juicy; } set { bool fl = false; if (coefficient_of_juicy == 0) fl = true; if (value > 0.2 && value < 0.95) coefficient_of_juicy = value; else coefficient_of_juicy = 0.2; if (fl == true) file.WriteLine("Його коефiцiєнт сочностi {0}", coefficient_of_juicy); else file.WriteLine("Коефiцiєнт сочностi змiнено на {0}", coefficient_of_juicy); } } public int Average_term_of_maturation { get { return average_term_of_maturation; } set { if (average_term_of_maturation == 0) file.WriteLine("Його середнiй термiн достигання {0} (д)", value); else file.WriteLine("Cереднiй термiн достигання змiнено на {0} (д)", value); average_term_of_maturation = value; } } public int Number_of_grains { get { return number_of_grains; } set { if (number_of_grains == 0) file.WriteLine("Його кiлькiсть зерняток " + value); else file.WriteLine("Кiлькiсть зерняток змiнена на " + value); number_of_grains = value; shelf_life_of_canned = number_of_grains * shelf_life_of_raw; average_number_on_tree = 100 * number_of_grains; } } public int Shelf_life_of_raw { get { return shelf_life_of_raw; } set { bool fl = false; if (shelf_life_of_raw == 0) fl = true; if (value > 15 && value < 120) shelf_life_of_raw = value; else shelf_life_of_raw = 15; if (fl == true) file.WriteLine("Його термiн зберiгання у сирому виглядi {0} (д)", shelf_life_of_raw); else file.WriteLine("Nермiн зберiгання у сирому виглядi змiнено на {0} (д)", shelf_life_of_raw); shelf_life_of_canned = number_of_grains * shelf_life_of_raw; } } private int shelf_life_of_canned; private int average_number_on_tree; public int Shelf_life_of_Canned { get { return shelf_life_of_canned; } } public int Average_number_on_tree { get { return average_number_on_tree; } } public Apple () { Number_of_objects++; variety = "Apple number " + Number_of_objects.ToString(); file = new System.IO.StreamWriter(Variety + ".txt"); file.WriteLine("Ствонення нового сорту пiд назвою " + Variety); } public Apple (string Name) { Number_of_objects++; if (Name.Length < 16) variety = Name; else variety = "Apple number " + Number_of_objects.ToString(); variety = Name; file = new System.IO.StreamWriter(Variety + ".txt"); file.WriteLine("Ствонення нового сорту пiд назвою " + Variety); } public Apple(string Name0, string Name1, double D0, double D1, int I0, int I1, int I2) { Number_of_objects++; if (Name0.Length < 16) variety = Name0; else variety = "Apple number " + Number_of_objects.ToString(); variety = Name0; file = new System.IO.StreamWriter(Variety + ".txt"); file.WriteLine("Ствонення нового сорту пiд назвою " + Variety); Colour = Name1; file.WriteLine("Його колiр " + Colour); Average_weight = D0; file.WriteLine("Його середня вага " + Average_weight.ToString() + " (г)"); Coefficient_of_juicy = D1; file.WriteLine("Його коефiцiєнт сочностi " + Coefficient_of_juicy.ToString()); Average_term_of_maturation = I0; file.WriteLine("Його середнiй термiн достигання " + Average_term_of_maturation.ToString() + " (д)"); Number_of_grains = I1; file.WriteLine("Його кiлькiсть зернят " + Number_of_grains.ToString()); Shelf_life_of_raw = I2; file.WriteLine("Його термiн зберiгання у сирому виглядi " + Shelf_life_of_raw.ToString() + " (д)"); } public static bool operator > (Apple A, Apple B) { if (A.Average_weight > B.Average_weight) return true; else return false; } public static bool operator <(Apple A, Apple B) { if (A.Average_weight < B.Average_weight) return true; else return false; } public static bool operator ==(Apple A, Apple B) { if (A.Average_weight*A.Coefficient_of_juicy == B.Average_weight*B.Coefficient_of_juicy) return true; else return false; } public static bool operator !=(Apple A, Apple B) { return !(A==B); } public static Apple operator +(Apple A, Apple B) { Apple C = new Apple(A.Variety[0].ToString() + B.Variety[0].ToString()); C.Colour = A.Colour; if (A.Coefficient_of_juicy > B.Coefficient_of_juicy) C.Coefficient_of_juicy = A.Coefficient_of_juicy; else C.Coefficient_of_juicy = B.Coefficient_of_juicy; if (A.Average_weight > B.Average_weight) C.Average_weight = A.Average_weight; else C.Average_weight = B.Average_weight; if (A.Number_of_grains > B.Number_of_grains) C.Number_of_grains = A.Number_of_grains; else C.Number_of_grains = B.Number_of_grains; if (A.Average_term_of_maturation < B.Average_term_of_maturation) C.Average_term_of_maturation = A.Average_term_of_maturation; else C.Average_term_of_maturation = B.Average_term_of_maturation; if (A.Shelf_life_of_raw > B.Shelf_life_of_raw) C.Shelf_life_of_raw = A.Shelf_life_of_raw; else C.Shelf_life_of_raw = B.Shelf_life_of_raw; return C; } public void Write() { Console.WriteLine("Даннi про сорт " + Variety); Console.WriteLine("Його колiр " + Colour); Console.WriteLine("Його середня вага " + Average_weight.ToString() + " (г)"); Console.WriteLine("Його коефiцiєнт сочностi " + Coefficient_of_juicy.ToString()); Console.WriteLine("Його середнiй термiн достигання " + Average_term_of_maturation.ToString() + " (д)"); Console.WriteLine("Його кiлькiсть зернят " + Number_of_grains.ToString()); Console.WriteLine("Його термiн зберiгання у сирому виглядi " + Shelf_life_of_raw.ToString() + " (д)"); Console.WriteLine("Його середня кількість яблук на дереві " + Average_number_on_tree.ToString()); Console.WriteLine("Його термiн зберiгання у консервованому виглядi " + Shelf_life_of_Canned.ToString() + " (д)"); } public void Dispose() { file.WriteLine("Сорт знищено."); file.Close(); file.Dispose(); } } class Program { static void Main(string[] args) { using (Apple A = new Apple("бiлий"), B = new Apple("земля")) { A.Colour = "бiлий"; B.Colour = "зелений"; A.Average_weight = 250.5; B.Average_weight = 500; A.Coefficient_of_juicy = 0.5; B.Coefficient_of_juicy = 0.92; A.Average_term_of_maturation = 30; B.Average_term_of_maturation = 10; A.Number_of_grains = 20; B.Number_of_grains = 1; A.Shelf_life_of_raw = 30; B.Shelf_life_of_raw = 90; A.Number_of_grains = 10; if (A > B) { Console.WriteLine("A>B"); A.Write(); } else { Console.WriteLine("A<B"); B.Write(); } Apple C = A + B; if (C == B) Console.WriteLine("C=B"); else Console.WriteLine("C!=B"); C.Dispose(); } Console.ReadKey(); } Скріншоти програми / / / / Висновок Отже, на цій лабораторній роботі я навчився створювати класи С# та перевантажувати операції.
Антиботан аватар за замовчуванням

20.04.2018 21:04-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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