Wątek przeniesiony 2018-04-07 13:02 z C/C++ przez kq.

Baza danych za pomocą klas

0

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

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
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1