Cześć,
postanowiłem napisać bazę danych komisu samochodowego za pomocą klas, jednak mogę tylko wpisywać i wyświetlać dane poprzedniego właściciela oraz dane samochodu (tak sobie wymyśliłem), ponadto zrobiłem tablicę, w której przechowuje te dane oraz użyłem switcha aby użytkownik mógł wybrać, które dane (czy samochodu czy właściciela) chce wpisać. No ale to za mało, bo co to za baza, no i dlatego chciałbym się dowiedzieć w jakiś sposób/co muszę użyć, abym mógł zapisać/usunąć te wprowadzone dane w bazie, abym mógł później wyświetlić konkretny samochód/sprawdzić czy jest w bazie, zrobić tak jakby taką wyszukiwarkę konkretnego samochodu jakim byłby zainteresowany kupujący ;) Na razie chciałbym wiedzieć jak zrobić to w prosty i zrozumiały dla mnie sposób, bo dopiero co zaczynam przygodę z programowaniem.
0
0
zrobiłem tablicę, w której przechowuje te dane
Trochę złe podejście. Jeśli masz klasę Samochód, oraz klasę Komis, to niech komis przechowuje prywatnie vector tych samochodów.
Jeśli jednak chcesz wygodnie wyszukiwać konkretne samochody w komisie za pomocą konkretnego klucza lub kryterium, to możesz też użyć unordered map zamiast zwykłego vector'a.
Korzystając z mapy lub vectora możesz w bardzo łatwy sposób zaimplementować metody Komisu usuwające, dodające, szukające danego samochodu.
Przykład:
const Car& ResaleShop::SearchForCar( brand_t brand, model_t model, const unsigned int& minYear = 2000, const unsigned int& maxYear = 2015, bool damaged = false )
{
// Tu twoja implementacja
}
void ResaleShop::AddNewCar( const Car&& newCar )
{
cars.push_back( std::move( newCar ) ); // W przypadku zwykłego vectora
// lub
cars.insert( {newCar.brand, std::move( newCar )} ); // W przypadku mapy, jako klucza możesz użyć czegoś innego niż brand
}