A masz tu przykład dla mikroskopijnej bazy z wyszukiwaniem linearnym. Na sam początek nauki wystarczy.
Standard C++11:
#include <iostream>
#include <vector>
// Jakaś struktura rekordu samochodu..
struct Samochod {
std::string marka;
std::string model;
unsigned short int rok;
double pojemnosc;
std::string rodzaj_paliwa;
double cena;
};
Samochod szukajPoMarce(const std::string& marka, const std::vector<Samochod>& baza) {
for(size_t numer_rekordu = 0; numer_rekordu < baza.size(); ++numer_rekordu) {
Samochod samochod = baza[numer_rekordu];
if(samochod.marka == marka) {
return samochod;
}
}
return {};
}
void pokazSamochod(const Samochod& samochod) {
std::cout << "------------------\n";
std::cout << "Marka: " << samochod.marka
<< "\nModel: " << samochod.model
<< "\nRocznik: " << samochod.rok
<< "\nPojemność: " << samochod.pojemnosc
<< "\nRodzaj paliwa: " << samochod.rodzaj_paliwa
<< "\nCena: " << samochod.cena << '\n';
std::cout << "------------------\n";
}
int main() {
// Mały przykład bazy...
std::vector<Samochod> baza_samochodow{
{ "Opel", "Astra", 2001, 3.2, "beznyna", 43554 },
{ "Ford", "S-Max", 2011, 4.2, "hydrazyna", 110000 },
{ "VW", "Garbus", 1980, 2.2, "benzyna", 65333 }
};
std::string marka;
std::cout << "Podaj markę szukanego samochodu: ";
std::cin >> marka;
Samochod samochod = szukajPoMarce(marka, baza_samochodow);
// Może nie znaleźć samochodu, trzeba sprawdzić.
if(samochod.marka == marka) {
pokazSamochod(samochod);
} else {
std::cout << "Przykro mi, nie mam takiej marki samochodu w bazie.\n";
}
}