Создайте консольное приложение «Отдел магазина» - 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();
        }}}

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


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

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

12   голосов , оценка 3.667 из 5
Похожие ответы