Создайте консольное приложение «Отдел магазина» - C#
Формулировка задачи:
Создайте консольное приложение «Отдел магазина». Приложение включает следующие пользовательские классы:
Класс человек «Person» - включает следующие свойства – Имя (Name), Фамилию (Fio) и оклад (Salary);
Класс продавец «Assistant» - наследник класса «Person», содержит все свойства родительского класса, а также и дополнительные свойства Стаж (Seniority) и Зарплата (Salarysum). Зарплата рассчитывается как оклад плюс стаж умноженный на 2% (Salarysum =Salary+ Seniority*0.2);
Класс менеджер (зав.отделом, управляющий) «Manager» - наследник класса «Assistant», содержит все свойства родительского класса и дополнительное свойство Количество подчиненных (Subordinate). Зарплата у менеджера рассчитывается как оклад плюс стаж умноженный на 2% плюс количество подчиненных умноженное на 2% (Salarysum =Salary+ Seniority*0.2+ Subordinate*0.2)
В классе продавец (Assistant) создается событие «Добавление продавца» (AddAssistant). В классе менеджер (Manager) создается событие «Добавление менеджера» (AddManager).
Помогите с этой задачкой на си шарпе пожалуйста
Решение задачи: «Создайте консольное приложение «Отдел магазина»»
textual
Листинг программы
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace day9 { class Program { static int i = 0; public static void next() { Console.ReadLine(); i++; Console.WriteLine("\nЗадание " + i); } class Task3 { interface ISalSum { double CalcSalSum(); } class Person { protected string name; public string Name { get { return name; } set { name = value; } } protected string fio; public string Fio { get { return fio; } set { fio = value; } } protected int salary; public int Salary { get { return salary; } set { salary = value; } } } class Assistant : Person, ISalSum { protected int seniority; public Assistant() { } public int Seniority { get { return seniority; } set { seniority = value; } } protected double salarysum; public double Salarysum { get { return salarysum; } set { salarysum = value; } } double ISalSum.CalcSalSum() { salarysum = this.Salary + seniority * 0.2; return salarysum; } } class Manager : Assistant, ISalSum { int subordinate=0; public Manager(string _name, Magazin pub) { name = _name; seniority = 2; salary = 100; pub.RaiseCustomEvent += HandleCustomEvent; } void HandleCustomEvent(object sender, Manager e) { e.DoEvent(); } public void DoEvent() { subordinate++; salarysum = salary + seniority * 0.2 + subordinate * 0.2; } public int Subordinate { get { return subordinate; } set { subordinate = value; } } public static bool f = false; double ISalSum.CalcSalSum() { Salarysum = this.Salary + this.Seniority * 0.2 + subordinate * 0.2; return Salarysum; } } class Magazin : EventArgs { public List<Assistant> asistents = new List<Assistant>(); public Manager manager; public Magazin(string nameOfManager) { manager = new Manager(nameOfManager, this); } public void AddAsis(Assistant a) { asistents.Add(a); OnRaiseCustomEvent(manager); } public event EventHandler<Manager> RaiseCustomEvent; public void AddNewAssistant() { } protected virtual void OnRaiseCustomEvent(Manager e) { if (handler != null) { handler(this, e); Console.WriteLine("Новая зарплата менеджера = "+e.Salarysum.ToString("f2")); } } } public Task3() { Magazin magaz = new Magazin("Родная сторона"); magaz.AddAsis(new Assistant()); magaz.AddAsis(new Assistant()); magaz.AddAsis(new Assistant()); } } static void Main(string[] args) { next(); { Task3 task = new Task3(); } next(); }}}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д