C# OOP Retake Exam - 16 Apr 2020
Здравейте,
Моля за примерно решение на задачата т.1 и т.2 https://judge.softuni.bg/Contests/Practice/Index/2312#0. Благодаря предварително!
Здравейте,
Моля за примерно решение на задачата т.1 и т.2 https://judge.softuni.bg/Contests/Practice/Index/2312#0. Благодаря предварително!
1 и 2 заедно https://easyupload.io/j1xzhg
Благодаря! Честно казано въпреки, че ми даде готово решение, което работи, не мога да разбера как се получава връзката в контролера за принтиране с метода History. Също така къде открояваме кой робот на каква процедура принадлежи и каква е ролята на колекция procedures?
Класът контролер има метод хистори, но ако погледнеш класа процедура, ще видиш ,че и там има също фунцкия с това име хистори, която има тази функционалност
public abstract class Procedure : IProcedure
public string History()
{
StringBuilder sb = new StringBuilder();
sb.AppendLine($"{this.GetType().Name}"); // дава името на процедурата
foreach (var robot in this.robots)
{
sb.AppendLine($"{robot.ToString()}");
}
return sb.ToString().TrimEnd();
}
....тя пък от своя страна вика метод, който е от класа робот (override наToString() метода...името на процедурата я взимаме от тук ($"{this.GetType().Name}")) който пък от своя страна дава инфо за робота (this.GetType().Name, this.Name, this.happiness, this.energy);)
Добре, но примерно в условието пише при Hystory "Returns information about all robots which had current procedure type in the format:", което за мен значи, че ако се извика команда Hystory Polish това значи, че трябва да се принтират всички роботи, които са преминали Polish. В такъв случай не разбирам листа за процедури в контролера как прави връзката с това, кои роботи каква процедура са преминали. Видях че има Dictionary, но и там не примерно не се казва Key - Procedure, Value - List<IRobot>, които са преминали процедура от даден тип. Може би не разбирам условието