Софтуерно Инженерство
Loading...
tiapko avatar tiapko 31 Точки

(Exercises: Inheritance) Problem 6. *Animals

Здравейте,

 

С този код изкарвам  66 / 100 като ми гърмят 2ри и 3ти тест. Може ли някой да хвърли един поглед и да ми каже какво испускам?

 

Проверявам за всичко, което се сетих:

  1. букви вместо цифри за Age,
  2. повече параметри,
  3. каквито и да е други ексепшъни

 

http://pastebin.com/cP4xJhPr

Тагове:
0
C# OOP Basics
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

Според мен проблемът идва от това, че ползваш интерфейс за звуците, вместо да има метод за издаване на звук в базовия Animal клас, който при теб е и абстрактен, а не трябва да бъде. В условието пише "Message from the Animal class: "Not implemented!". Тоест трябва да имаш такъв виртуален метод, който да override-ваш във всички наследници.

0
tiapko avatar tiapko 31 Точки

Хмм, това което казваш, го няма в условието: https://softuni.bg/trainings/resources/officedocument/9427/exercise-problem-descriptions-csharp-oop-basics-june-2016. Аз така го разбирам, че Animal класът трябва само да се наследява и няма указание какво съобщение да хвърля.

 

0
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

Интересно, аз си пазя старите условия и там го има написано. http://imgur.com/a/2mp3Q

1
17/03/2017 11:23:23
tiapko avatar tiapko 31 Точки

Тествах да сложа, винаги като има exception да хвърля този стринг, който прати, но пак няма промняна в никой от тестовете, явно задачата е променена и това е взето предвид. Продължавам да мъдря.

 

0
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

То не трябва да се показва това съобщение когато ти хвърля ексепшън, а трябва да се показва ако се направи обикновена инстанция на Animal, защото ти нямаш такъв метод за звук за чиста Animal инстанция. Тествах го наново с моето решение от преди и дава 100. По принцип не уважавам някой като се затруднява и да му се праща чуждо готово решение, но просто може да пробваш, че като копи пейстнеш моя код с имплементацията, която описах и си дава 100, тоест не е променяна задачата, а явно нещо в условието е объркано. https://github.com/PetarDimitrov86/OOP-Basics/blob/master/Inheritance/06-Pr6Animals.cs

0
17/03/2017 11:45:28
tiapko avatar tiapko 31 Точки

Здравей пак. Разгледах ти кода (86/100 дава, ако го пусна 1:1) и единствената(концептуална) разлика е, че ти, като имаш "Kittens" или "Tomcat" им задаваш пол-а в конструктора, а аз правя прверка дали няма несъответствие пр. мъжко Kitten и хвърлям exception в такъв случай. Отразявайки тази логика (за която мисля, че трябва да се извиква Animal, но не го правя) кодът ми мина 100/100, с интерфейс, с абстрактни класове и другите там неща :)

 

Благодаря ти.

 

Шервам и кода, да видиш, ако имаш желание. Реално частта от задачата, която липсва не се отразява на крайният резултат (никога не се стига до правене на инвалидно животно в тестовете). http://pastebin.com/EHTYBXzw

0
17/03/2017 12:52:08
thereishope avatar thereishope 75 Точки

tiapko оправи ли се? Понеже в задачата е казано да се принтира на 1 ред всичко, а judge ми дава това

Expected output:

Cat
Macka 12 Female
MiauMiau
Dog

Sharo 132 Male

BauBau

 

На мен ми дава 50 точки ...  Ето ми решението

https://pastebin.com/Gxqsvtaf

Хелп хора... :Щ

0
tiapko avatar tiapko 31 Точки

Объркването става, че като имаш тези специалните котки, логиката на съставилия задачата е, че не трябва да им четеш пола, а да им го сетнеш, един вид мъжки или женски  Tomcat винаги трябва да ти става на мъжки. Аз лично правих много (оказа се излишни)проверки.

 

Задачата не е сложна, условието е двуяко. Ако си пробвал всичко пробвай това - https://github.com/tiapko/Exercises-Inheritance/blob/master/Problem%2006.%20STAR%20Animals/Program.cs

0
15/04/2017 23:48:42
sevdalin avatar sevdalin 37 Точки

Колеги, някой може ли да ми помогне да си открия грешката. И на мен не ми минават 2/3 тест. Прочетох 3 пъти цялата тема. Прегледах си кода няколко пъти, но не откривам къде греша. Единственото което правя различно, е принтирането. Но то ми изглежда напълно Valid! Тук е ZIP-a с кода, ще ви бъда благодарен, ако някой му хвърли едно око и каже къде греша, защото аз не успявам.

0