Advertisement
Sephinroth

24.1

Apr 28th, 2020
697
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.96 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. namespace practice
  7. {
  8. public abstract class First
  9. {
  10.     public string name;
  11.     public int ID;
  12.     virtual public string Name { get {return name;} set { name = value; } }
  13.     //abstract public void GetInfo () { }
  14.     public static bool Compare(First a, First b)
  15.     {
  16.         return (a.name == b.name);
  17.     }
  18.     public First(string name)
  19.     {
  20.        this.name = name;
  21.     }
  22.     public First() { }
  23. }
  24. public class List_of_orgs
  25. {
  26.         public List_of_orgs()
  27.         {
  28.            
  29.         }
  30.     public List<Organisation> org = new List<Organisation>();
  31.    
  32.     public void AddOrg(Organisation obj)
  33.     {
  34.         org.Add(obj);
  35.     }
  36.     public void RemoveOrg(Organisation obj)
  37.     {
  38.         int del_idx = -1;
  39.         foreach (Organisation o in org)
  40.             if (obj.name == o.name) del_idx = org.IndexOf(o);
  41.         if (del_idx != -1) org.RemoveAt(del_idx);
  42.     }
  43.  
  44.     public void GetCompanyVacInfo (string name)
  45.     {
  46.         foreach (Organisation o in org)
  47.             if (name == o.name)
  48.             {
  49.                 Console.WriteLine();
  50.                 o.GetInfo();
  51.                 o.GetVac();
  52.             }
  53.                
  54.     }
  55.     public void SearchBySpec (string spec)
  56.     {
  57.         foreach (Organisation o in org)
  58.         {
  59.             Console.WriteLine();
  60.             o.GetVac(spec);
  61.         }
  62.        
  63.     }
  64.     public void ShowAllVac()
  65.     {
  66.         foreach (Organisation o in org)
  67.             o.GetFullInfo();
  68.     }
  69.  
  70. }
  71. public class Organisation: First
  72.     {
  73.             public List<Vacancy> vac = new List<Vacancy>();
  74.             public void AddVac(Vacancy obj)
  75.             {
  76.                 vac.Add(obj);
  77.                 obj.company = name;
  78.              
  79.             }
  80.             public void RemoveVac(Vacancy obj)
  81.             {
  82.                 int del_idx = -1;
  83.                 foreach (Vacancy v in vac)
  84.                     if (obj.name == v.name) del_idx = vac.IndexOf(v);
  85.                 if (del_idx != -1) vac.RemoveAt(del_idx);
  86.             }
  87.            public string address;
  88.            public string field;
  89.            public Organisation (string name, string address, string field)
  90.            {
  91.             this.name = name;
  92.             this. address = address;
  93.             this.field = field;
  94.            }
  95.            public string Address
  96.             {
  97.                 get { return address; }
  98.                 set { address = value; }
  99.             }
  100.            public string Field
  101.             {
  102.                 get { return field; }
  103.                 set { field = value; }
  104.             }
  105.            
  106.            public void GetInfo()
  107.             {
  108.                 Console.WriteLine("Название: {0};\nАдрес: {1};\nОбласть деятельности: {2};", name, address, field);
  109.             }
  110.             public void GetFullInfo()
  111.             {
  112.                 foreach (Vacancy v in vac)
  113.                 {
  114.                     Console.WriteLine();
  115.                     v.GetMoreInfo();
  116.                 }
  117.             }
  118.            
  119.             public void GetVac()
  120.             {
  121.                 foreach (Vacancy v in vac)
  122.                 {
  123.                     Console.WriteLine();
  124.                     v.GetInfo();
  125.                 }
  126.             }
  127.             public void GetVac(string spec)
  128.             {
  129.                 foreach (Vacancy v in vac)
  130.                     if (v.specialization == spec) { Console.WriteLine(); v.GetInfo(); }
  131.                
  132.             }
  133.         }
  134. public class Vacancy: First
  135.     {
  136.             public string specialization;
  137.             public double salary;
  138.             public string schedule;
  139.             public string company;
  140.             public Vacancy (string name, string specialization, double salary, string schedule)
  141.             {
  142.                 this.name = name;
  143.                 this.specialization = specialization;
  144.                 this.salary = salary;
  145.                 this.schedule = schedule;
  146.             }
  147.             public Vacancy () { }
  148.             public string Specialization
  149.             {
  150.                 get { return specialization; }
  151.                 set { specialization = value; }
  152.             }
  153.             public double Salary
  154.             {
  155.                 get { return salary; }
  156.                 set { salary = value; }
  157.             }
  158.             public string Schedule
  159.             {
  160.                 get { return schedule; }
  161.                 set { schedule = value; }
  162.             }
  163.             public void GetInfo()
  164.             {
  165.                 Console.WriteLine("Должность: {0};\nСпециальность: {1};\nЗарплата: {2};\nГрафик: {3}.", name, specialization, salary, schedule);
  166.             }
  167.             public void GetMoreInfo()
  168.             {
  169.                 Console.WriteLine("Компания: {0};\nДолжность: {1};\nСпециальность: {2};\nЗарплата: {3};\nГрафик: {4}.", company, name, specialization, salary, schedule);
  170.             }
  171.         }
  172. class Program
  173. {
  174.     static void Main(string[] args)
  175.     {
  176.        
  177.         List_of_orgs l = new List_of_orgs();
  178.        
  179.         Organisation one = new Organisation("Ростелеком", "Саратов", "Связь");
  180.         l.AddOrg(one);
  181.         one.AddVac(new Vacancy("Директор", "Менеджемент", 10000, "пятидневный"));
  182.         Organisation two = new Organisation("Магнит", "Саратов", "Торговля");
  183.         l.AddOrg(two);
  184.         two.AddVac(new Vacancy("Кассир", "Обслуживание", 1000, "пятидневный с неполным рабочим днём"));
  185.         two.AddVac(new Vacancy("Кассир", "Обслуживание", 2000, "пятидневный"));
  186.         two.AddVac(new Vacancy("Охранник", "Охрана", 3000, "сменный"));
  187.         Organisation three = new Organisation("Сбербанк", "Саратов", "Финансы");
  188.         l.AddOrg(three);
  189.         three.AddVac(new Vacancy("Консультант", "Обслуживание", 4000, "пятидневный"));
  190.         Organisation four = new Organisation("Яблонька", "Саратов", "Общественное питание");
  191.         l.AddOrg(four);
  192.         four.AddVac(new Vacancy("Пекарь", "Изготовление продуктов питания", 3500, "сменным"));
  193.         four.AddVac(new Vacancy("Продавец", "Обслуживание", 2000, "пятидневный"));
  194.         Console.WriteLine("Список доступных вакансий\n");
  195.         l.ShowAllVac();
  196.         l.RemoveOrg(l.org[2]);
  197.         l.org[1].RemoveVac(l.org[1].vac[1]);
  198.         Console.WriteLine("\n\nВакансии в компании Яблонька\n");
  199.         l.GetCompanyVacInfo("Яблонька");
  200.         Console.WriteLine("\n\nВакансии по специальности обслуживание\n");
  201.         l.SearchBySpec("Обслуживание");
  202.         Console.ReadKey();
  203.     }
  204.  
  205. }
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement