Создать абстрактный класс "Программное обеспечение" с методами - C#
Формулировка задачи:
ПОМОГИТЕ ПОЖАЛУЙСТА ИСПРАВИТЬ ОШИБКИ!!!!!!
Задание:
1) Создать абстрактный класс Программное_обеспечение с методами, позволяющими вывести на экран
информацию о программном обеспечении, а также определить соответствие возможности использования (на момент текущей даты).
2) Создать производные классы: Свободное (название, производитель), Условно-бесплатное (название, производитель, дата установки, срок бесплатного использования), Коммерческое (название, производитель, цена, дата установки, срок использования) со своими методами вывода информации на экран, и определения возможности использования на текущую дату.
3) Создать базу (массив) из n видов программного обеспечения, вывести полную информацию из базы на экран, а также организовать поиск программного обеспечения, которое допустимо использовать на текущую дату.
Исходник:
Решение задачи: «Создать абстрактный класс "Программное обеспечение" с методами»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; //1) Создать абстрактный класс Программное_обеспечение с методами, позволяющими вывести на экран //информацию о программном обеспечении, а также определить соответствие возможности использования (на момент текущей даты). //2) Создать производные классы: Свободное (название, производитель), Условно-бесплатное (название, производитель, дата установки, срок бесплатного использования), //(название, производитель, цена, дата установки, срок использования) со своими методами вывода информации на экран, и определения возможности использования на текущую дату. //3) Создать базу (массив) из n видов программного обеспечения, вывести полную информацию из базы на экран, а также организовать поиск программного обеспечения, //которое допустимо использовать на текущую дату. class Program { static void Main(string[] args) { PO[] soft = new PO[]{new Free ("word", "tba"), new Shareware("excel", "microsoft", "12.03.1989", 50, 100), new Shareware("notepad", "net", "05.05.1990", 30, 20), new Commercial("NFS most wonted", "EArts", "27.09.2008", 50, 200, 3650), new Free("paint", "microsoft")}; Console.WriteLine("~~~~ Весь список ПО:"); foreach (PO p in soft) p.Info(); Console.WriteLine("~~~~ Список ПО, которое можно использовать на сегодняшний день: "); foreach (PO p in soft) if (p.ItIsAWorks())Console.WriteLine(p.ProgramName); Console.ReadLine(); } } abstract class PO { protected string name; protected string company; protected DateTime dateOfInstall; protected byte demo_preiod; protected int cost; public PO(string name, string company, string date, byte demo_period, int cost) { this.name = name; this.company = company; this.dateOfInstall = DateTime.Parse(date); this.demo_preiod = demo_period; this.cost = cost; } public virtual void Info() { Console.WriteLine("\nИмя продукта: " + name + " Производитель: " + company + " дата установки ПО: " + dateOfInstall + "Период бесплатного использования: " + demo_preiod + " стоимость продукта: " + cost+"\n"); } public virtual bool ItIsAWorks() { if (dateOfInstall.AddDays(demo_preiod) >= DateTime.Now) return true; return false; } public string ProgramName { get { return name; } } } class Free : PO { public Free(string name, string company): base(name, company, "01.01.2000", 0, 0) { } public override void Info() { Console.WriteLine("Имя продукта: " + name + "\nПроизводитель: " + company+"\n"); } public override bool ItIsAWorks() { return true; } } class Shareware : PO { public Shareware(string name, string company, string date, byte demo_period, int cost) : base(name, company, date, demo_period, cost) { } public override void Info() { Console.WriteLine("Имя продукта: " + name + "\nПроизводитель: " + company + "\nДата установки ПО: " + dateOfInstall.ToShortDateString() + "\nПериод бесплатного использования: " + demo_preiod + "\nCтоимость продукта: "+cost+"euro\n"); } public override bool ItIsAWorks() { if (dateOfInstall.AddDays(demo_preiod) >= DateTime.Now) return true; return false; } } class Commercial : PO { int period; public Commercial(string name, string company, string date, byte demo_period, int cost, int period) : base(name, company, date, 0, cost) { this.period = period; } public override void Info() { Console.WriteLine("Имя продукта: " + name + "\nПроизводитель: " + company + "\nДата установки ПО: " + dateOfInstall.ToShortDateString() + "\nСтоимость продукта: " + cost + "euro \nПериод использования: " + period + "\n"); } public override bool ItIsAWorks() { if (dateOfInstall.AddDays(period) >= DateTime.Now) return true; return false; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д