Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

KrIsKa7a avatar KrIsKa7a 29 Точки

C# OOP Basics Exam Retake 5 September 2017

Здравейте.

Ако може някой да ми обясни защо при качването на следната структура(https://github.com/KrIsKa7a/CSharpOOPBasic/tree/master/14.ExamPreparationII%20-%20Exam%2005%20September%202017) в judge постоянно ми дава compile-time error? Знам, че кода може и да не е напълно правилен, но поне да видя.

Тагове:
0
C# OOP Basics
dobroslav.atanasov avatar dobroslav.atanasov 247 Точки
Best Answer

Здравей,

Погледнах ти кода и открих доста грешки от които ти гърми Compile time error:

1. Всички класове трябва да са в единствено число: 

      - ти си писал: Tyres, Drivers and Cars, а тръбва да са Tyre, Driver and Car.

 

2. Във всички child класове (AggressiveDriver, EnduranceDriver, UltrasoftTyre and HardTyre) конструкторите са PUBLIC а не protected.

 

3. В HardTyre and UltrasoftTyre няма смисъл да override Name, а направо го подавай в констуктора

     - Пример:     public UltrasoftTyre(double hardness) : base("Ultrasoft", hardness) { }

                           public HardTyre(double hardness) : base("Hard", hardness) { }

 

4. В Tyre class Degradation трябва да ти е virtual, за да може в UltrasoftTyre да му направиш валидация: https://pastebin.com/BxgcnPnv

 

5. Speed може да го направиш така:    

            public virtual double Speed => (this.Car.Hp + this.Car.Tyre.Degradation) / this.Car.FuelAmount;

и да го override - неш в AggressiveDriver така:

            public override double Speed => base.Speed * 1.3;

 

Car class - https://pastebin.com/N8FPLj7s

Driver class with AggressiveDriver and EndiranceDriver - https://pastebin.com/kx9a0brT

 

С тези корекции кода минава в Judge (110/120). Като 2 тест гърми предполагам е някай private или protected field.

 

Надявам се, че съм ти помогнал :)

Поздрави

0
KrIsKa7a avatar KrIsKa7a 29 Точки

Благодаря ти много! Сега ще ги погледна. За имената на класовете съм се заблудил с copy-paste от документа. То НЯМА логика да класа да е Cars, при положение, че не са множествено число.

Благодаря много за изчерпателния отговор!

1
d_rumenov avatar d_rumenov 35 Точки

Здравейте!

Ако може някой да погледне и това и да сподели къде са ми грешките, защото вече не знам колко пъти преглеждам тези файлове и не искат да минат в Judge... :(

https://github.com/drumenov/GrandPrix

Поздрави!

0
dobroslav.atanasov avatar dobroslav.atanasov 247 Точки

Здравей,

Всичко изглежда супер, но имаш една малка грешка, която в случая става "Compile time error" :). Грешката ти е в клас Car на ред 28. Трябва да е: "this.fuelAmount = Math.Min(value, MAX_FUEL);" а ти си написал this.FuelAmount (това е рекурсия). Иначе с тази промяна в Judge (120/120).

Надявам, че ти помогнах :)

Поздрави

0
d_rumenov avatar d_rumenov 35 Точки

Здравей!

Това беше една от "тънките" грешки... След допълнително взиране видях и други и най-накрая успях да го коригирам...

Поздрави!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.