Класс факультетов и кафедр факультета: с чего начать - C#
Формулировка задачи:
Класс факультетов и кафедр факультета, предусмотреть операции слияния/разделения кафедр и факультетов, перевода кафедр с одного факультета в другой.
небольшой вопрос
с чего начать лучше?
по курсу объектно-ориентированное программирование
думал начать с того что кафедра это подразделение факультета
Решение задачи: «Класс факультетов и кафедр факультета: с чего начать»
textual
Листинг программы
using System; using System.Linq; using System.Collections.Generic; namespace Facs { class University { public University(List<Faculty> facs) { Faculties = facs; } public University():this(new List<Faculty>()) { } public void AddFaculty(Faculty fac) { if (Faculties.Find ((x) => x.Name == fac.Name) == null) { Faculties.Add (fac); } } public bool MoveChair(string ChairName, string DestFacName, string SrcFacName) { Faculty dest = Faculties.Find ((x) => x.Name == DestFacName); Faculty src = Faculties.Find ((x) => x.Name == SrcFacName); if (dest == null || src == null) { return false; } if (!dest.HasChair (ChairName)) { return false; } Chair ch = dest.GetChair (ChairName); if (!dest.RemoveChair (ch)) { return false; } if (!src.AddChair (ch)) { return false; } return true; } public List<Faculty> Faculties {get; private set;} } class Faculty { public Faculty(List<Chair> chairs, string name) { Chairs = chairs; Name = name; } public bool AddChair(Chair chair) { if (GetChair (chair.Name) == null) { Chairs.Add (chair); return true; } return false; } public bool RemoveChair(Chair chair) { return RemoveChair(chair.Name); } public bool RemoveChair(string name) { Chair chair = GetChair (name); if (chair != null) { Chairs.Remove (chair); return true; } return false; } public bool HasChair(Chair chair) { return HasChair (chair.Name); } public bool HasChair(string name) { return GetChair (name) != null; } public Chair GetChair(string name) { return Chairs.Find ((x) => x.Name == name); } public List<Chair> Chairs {get; private set;} public string Name {get; private set;} } class Chair { public Chair(string name) { Name = name; } public string Name {get; private set;} } class Program { static void Main() { List<Faculty> facs = new List<Faculty>() { new Faculty(new List<Chair> {new Chair("a"), new Chair("b")}, "fac1"), new Faculty(new List<Chair> {new Chair("c"), new Chair("d")}, "fac2") }; University un = new University(facs); Console.WriteLine (un.MoveChair ("a", "fac1", "fac2")); Console.WriteLine (un.MoveChair ("a", "fac1", "fac2")); Console.WriteLine (un.MoveChair ("c", "fac2", "fac1")); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д