Loading...

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

Jovanna avatar Jovanna 186 Точки

Task 4 & 5 Cars&Owners DB + Save to File

Здравейте, 

публикувам своя код на задачата с базата данни за колите и собствениците, но ми се вижда доста дълъг. Какво ще кажете за споделяне на решения?

Код:

https://github.com/VanyaBenovska/Cpp_Vehicles_DB/blob/master/Cpp_06_05_A_Save_to_File.cpp

и инициализиращата база данни:

https://github.com/VanyaBenovska/Cpp_Vehicles_DB/blob/master/dataBase_Owners_and_Vehicles.txt

Весело посрещане на Новата Година!!!! Успех на всички през нея !!!!!!

Тагове:
0
C++ Fundamentals 31/12/2017 01:03:29
MartinBG avatar MartinBG 4803 Точки
Best Answer

Ето моето решение от предишното издание на курса. Прегледах го набързо да си припомня задачата и забелязах неща, които не ми харесват и които не бих написал по този начин сега, но все пак може да е интересно или полезно за някой.

Поздрави!

1
Jovanna avatar Jovanna 186 Точки

Много е добро!! Чудя се какво ли примерно не би написал така. Има доста хитри ходове.

0
MartinBG avatar MartinBG 4803 Точки

Благодаря!

Относно нещата, които бих променил:

На първо място - по-добра организация на кода: отделни файлове за класовете, а някои мега-класове могат да се разбият допълнително на по-малки. Като цяло, има пропуски в спазването на основните OOP принципи.

От функционална гледна точка, бих заменил векторите с мапове, което ще подобри осезаемо бързодействието при голям брой person-и и/или регистрации.

Помня, че зареждането на база с по няколко милиона елемента от файл на практика не работеше заради неподходящите дейта структури: сложност O(R*P) при вектор, вместо О(R*lgP) при мап, където R e бр. регистрации, а P - броя person-и в системата. За 1000 person-a и 1000 регистрации вектора ще ползва (до) 1 000 000 проверки, а мап-а - само (до) 10 000 (1000 ~ 2^10).

1
04/01/2018 13:46:44
Jovanna avatar Jovanna 186 Точки

Благодаря! Много полезно, помагаш.

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