mam nadzieję, że źródełko nie wyschło
i zaczerpnę znowu trochę wiedzy?
Tak jak w temacie, posiadam
kontener vector, którego typem jest struktura
struct market
{
int lp;
string nazwa_produktu;
double cena;
string dzial;
int ilosc_sztuk;
};
vector < market > produkt { };
stworzyłem sobie funkcje, które dodaje, usuwa, czy wyszukuje record
i wszystko jest w porządku poza jednym ale, chodzi o liczba porządkowa
jak dodaje record to liczbę porządkową tworze tak
int lp = produkt.size() + 1;
jest o.k.
ale jak usuwam jakikolwiek numer
zostaje dziura ,np. usuwam 2 to zostaje 1,3,4 itd.
Czy da się utworzyć tak "lp", żeby po usunięciu
(recordu-liczby, chodzi mi o całe rekordy)
"lp" sam się inkrementował (przesuwał), żeby była zachowana kolejność?
coś na wzór jak przy tworzeniu tabel w bazach sql
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
//EDIT
chyba, że mam do tego złe podejście i powinienem
zamienić "lp" na "id" produktu, a "lp" podawać
przy wyświetlaniu w funkcjach np. tak
int lp = 0;
cout << "\t\t\tProdukty w bazie\n" << endl;
for( auto el: produkt )
cout << right << setw( 3 ) << lp + 1 << right << setw( 3 ) << el.id << " " << right << setw( 30 )
<< setfill( ' ' ) << el.nazwa_produktu << setw( 10 )
<< setfill( ' ' ) << setprecision( 2 ) << fixed << el.cena << ".zl" << right << setw( 12 ) << el.dzial << "\t" << "sztuk. " << el.ilosc_sztuk << endl;
cout << endl;