Создайте консольное приложение «Отдел магазина» - 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();
- }}}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д