Loading...
MartinBG avatar MartinBG 4803 Точки

Домашно: Object-Oriented Programming - коментари и впечатления

Най-после стигнах до това домашно и меко-казано, съм във възторг :)

Не помня да съм се забавлявал толкова с писане на код, от студентските години с асемблер (не че съм писал много, но там всеки момент се помни laugh).

Много добре подбрани задачи, с нарастваща сложност и постепенно въвеждане на новите неща!

Тъкмо приключих с трета задача, по която загубих най-много време за удовлетворяване на входно-изходните ѝ условия.

Получи се нещо такова:

------------------------------
1 - List all persons
2 - List all registrations
3 - Change person name...
4 - Change person age...
5 - Change car registration...
6 - Generate random persons...
7 - Generate random registrations...
8 - Create a new person...
9 - Create a new registration...
0 - Exit

Сега като гледам листа, май ѝ липсва само експорт към файл. :)

Накрая - за разкош, реших да я напъна здраво с функциите за рандом генериране на Person и Registrations. Открих си един краш проблем (вектори с референции към локална памет не са добра идея), и след фиксването му издържа без крашове до 200000 потребителя и 100000 регистрации (повече не ми се занимава). Unit/load тестовете са хубаво нещо! :)

Приеснява ме, обаче, следното нещо - времето, което ми отнема решаването на задача като третата е горе-долу толкова, колкото ще имаме и на изпита. Надявам се там задачите да са по-фокусирани върху конкретни проблеми, а не толкова "творчески", че ще го закъсам! :)

 

Интересно ми е да чуя и мнения от колеги относно това домашно.

 

Поздрави!

 

EDIT:

Ето няколко от рандом генерираните ентрита: cheeky

 

..............................
Registration Number: AU-24901
Manufacturer: BMW
Model: 3 Series
Horsepower: 49
.....
Owner details:
Name: Ivan Pink
Age: 21
ID: 24502

..............................
Registration Number: AU-28292
Manufacturer: Lexus
Model: RX 350
Horsepower: 27
.....
Owner details:
Name: Alex Black
Age: 32
ID: 21375

..............................
Registration Number: AU-316
Manufacturer: Ford
Model: Mustang
Horsepower: 39
.....
Owner details:
Name: Peter Gray
Age: 38
ID: 142

1
C++ Programming 26/03/2017 16:15:41
krasio12356 avatar krasio12356 19 Точки

На мен ми отне няколко дена. Хем ползвам СТЛ. Не мога да пиша бързо. 

Ако за 4 часа трябва да реша 4 задачи, те трябва да са елементарни. 

0
MartinBG avatar MartinBG 4803 Точки

Да... И аз не съм от бързите.

Ако задачата е по-засукана, се бавя, защото чета в и-нет за нещата, които не знам, а ако е по-елементарна си намирам начини да я разнообразя и направя "по-интерсна". blush 

 

Например 5-та задача я писах сигурно 2 дена - то не бяха (ненужни, но интересни) усложнения на условието, рандом генератори, basic unit/load tests, вложени менюта за вход-изход, един куп класове и структури и т.н... над 1300 реда код, като за малко да не успея да изпълня едно от основните изисквания в задачата - запис и възстановяване на данните от файл (написах ги за 30-ина минути, тъкно навреме, за да предам домашното). Лудница! laugh

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