Создайте консольное приложение «Отдел магазина» - 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
Листинг программы
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace day9
  9. {
  10.     class Program
  11.     {
  12.         static int i = 0;
  13.         public static void next()
  14.         {
  15.             Console.ReadLine();
  16.             i++;
  17.             Console.WriteLine("\nЗадание " + i);
  18.         }
  19. class Task3
  20.  {
  21.  interface ISalSum
  22.  {
  23.  double CalcSalSum();
  24.  }
  25.  class Person
  26.  {
  27.  protected string name;
  28. public string Name
  29.  {
  30.  get { return name; }
  31.  set { name = value; } }
  32.  protected string fio;
  33.  public string Fio
  34.  {
  35.  get { return fio; }
  36.  set { fio = value; }
  37.  } protected int salary;
  38.  public int Salary
  39.  {
  40.  get { return salary; }
  41.  set { salary = value; }
  42.  } }
  43.   class Assistant : Person, ISalSum
  44.  {
  45.  protected int seniority;
  46.  public Assistant()
  47.  {
  48.   }
  49.  public int Seniority
  50.  {
  51.  get { return seniority; }
  52.  set { seniority = value; }
  53.  }
  54.  protected double salarysum;
  55.  public double Salarysum
  56.  {
  57.  get { return salarysum; }
  58.  set { salarysum = value; }
  59.  }
  60. double ISalSum.CalcSalSum()
  61.  {
  62.  salarysum = this.Salary + seniority * 0.2;
  63.   return salarysum;
  64.  } }
  65.  class Manager : Assistant, ISalSum
  66.  {
  67.  int subordinate=0;
  68.  public Manager(string _name, Magazin pub)
  69.  {
  70.  name = _name;
  71.  seniority = 2;
  72.  salary = 100;
  73.  pub.RaiseCustomEvent += HandleCustomEvent;
  74.  }
  75.  void HandleCustomEvent(object sender, Manager e)
  76.  {
  77.  e.DoEvent();
  78.  }
  79.  public void DoEvent()
  80.  {
  81.  subordinate++;
  82.  
  83.  salarysum = salary + seniority * 0.2 + subordinate * 0.2;
  84.  }
  85.  public int Subordinate
  86.  {
  87.  get { return subordinate; }
  88.  set { subordinate = value; }
  89.  }
  90.  public static bool f = false;
  91.  double ISalSum.CalcSalSum()
  92.  {
  93.  Salarysum = this.Salary + this.Seniority * 0.2 + subordinate * 0.2;
  94.  return Salarysum;
  95.  }
  96.  }
  97.  class Magazin : EventArgs
  98.  {
  99.  public List<Assistant> asistents = new List<Assistant>();
  100.  public Manager manager;
  101.  public Magazin(string nameOfManager)
  102.  {
  103.  manager = new Manager(nameOfManager, this);
  104.  }
  105.  public void AddAsis(Assistant a)
  106.  {
  107.  asistents.Add(a);
  108.  OnRaiseCustomEvent(manager);
  109.  }
  110.  public event EventHandler<Manager> RaiseCustomEvent;
  111.  public void AddNewAssistant()
  112.  {
  113.  }
  114.  protected virtual void OnRaiseCustomEvent(Manager e)
  115.  {
  116.  if (handler != null)
  117.  {
  118.  
  119.  handler(this, e);
  120.  Console.WriteLine("Новая зарплата менеджера = "+e.Salarysum.ToString("f2"));
  121.  } } }
  122.  public Task3()
  123.  {
  124.  Magazin magaz = new Magazin("Родная сторона");
  125.  magaz.AddAsis(new Assistant());
  126.  magaz.AddAsis(new Assistant());
  127.  magaz.AddAsis(new Assistant());
  128.  } }
  129. static void Main(string[] args)
  130.         {
  131. next();
  132.             { Task3 task = new Task3(); }
  133.  
  134.             next();
  135.         }}}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы