ID produktu | Nazwa produktu | Kategoria | Numer |
1 | Telewizor | Rozrywka | 10 |
2 | VCD | Rozrywka | 20 |
3 | Ubieranie pudełka | Gospodarstwo domowe | 30 |
4 | Perfumy | Uroda | 40 |
5 | Banan | Owoc | 50 |
6 | Gruszka | Owoc | 60 |
W tabeli znajduje się sześć wierszy danych. Wiersz nagłówka (produktd, nazwa produktu, kategoria itp.) nie jest wierszem danych. Ściśle mówiąc, wiersz nagłówka nie jest włączony do (nie jest częścią) wektor struktur w c++. Ta tabela należy uznać za listę wierszy tego samego wiersza, zaczynając od rzędu 1. Ściśle mówiąc, wiersz nagłówka nie może być tego samego typu co reszta wierszy w tabeli.
Ciąg w każdej komórce, wiersza nagłówka, opisuje resztę danych z kolumny. W tym artykule wyjaśniono, jak utworzyć wektor C ++ struktury i jego aplikację do tworzenia tabeli bazy danych.
Treść artykułu
- struct
- Budowa wektora struktur
- Karmienie danych do wektora struktur
- Problem wiersza nagłówka
- Wniosek
Struct
Struktura jest podobna do klasy. Obiekty są tworzone z struktury. Definicja struktury zaczyna się od zarezerwowanego słowa, struktura, a następnie uogólnionej nazwy (nazwy klasy) struktury, a następnie parę aparatów ortodontycznych, w których są elementami struktur. Definicja kończy się półkolisem po zamykaniu kręconego wspornika. Poniższy kod jest strukturem dla każdego wiersza powyższej tabeli; Rząd nagłówka nie jest tutaj rozważany:
struct wierszZauważ, że nazwa produktu i członków kategorii to ciągi. Oznacza to, że biblioteka ciągów musi zostać włączona do programu. Uogólniona nazwa struktury to, wiersz. Obiekty takie jak Row1, Row2, Row3 itp. Można utworzyć instancję z rzędu. Jednak konkretne nazwy obiektów wiersza nie są konieczne do celów tego artykułu, ponieważ „wiersz” będzie argumentem parametru szablonu dla wektora.
Budowa wektora struktur
Deklaracja wektora znaków może być:
wektorgdzie char jest argumentem parametru szablonu dla wektora, którego nazwa to: VTR. Podobnie deklaracja wektora wierszy struktury wyniosłaby:
wektorgdzie „wiersz” jest argumentem parametru szablonu dla wektora, którego nazwa może być nadal VTR. W powyższej tabeli znajduje się sześć wierszy i jeden wiersz nagłówka. To sprawia, że liczba wierszy, 7. Rząd 0 to wiersz nagłówka, który może nie mieć żadnych własnych danych. Początkowa liczba wierszy można wskazać w deklaracji wektorowej struktury.
Aby kodować wektor w programie C ++, biblioteka wektorowa musi zostać włączona do programu. Kierownikiem programu tego artykułu powinien być:
#włączaćW programie następuje definicja wiersza struktury, a następnie deklaracja wektora wierszy struktur.
Dane przekazujące wektor struktur
Aby uzyskać dostęp do elementu w dwuwymiarowej strukturze wektorowej struktury, zaczyna się od nazwy wektora, e.G., vtr. Następnie numer indeksowy w nawiasach kwadratowych, po którym następuje kropka, a następnie nazwa kolumny, e.G., ID produktu. Poniższy kod w głównej funkcji C ++ zasilałby dane do wierszy od wiersza 1 do wiersza 6:
vtr [1].ProduktID = 1; vtr [1].ProductName = "TV SET"; vtr [1].Kategoria = „rozrywka”; vtr [1].Liczba = 10;Po tym segmencie kodu następujący segment kodu w głównej funkcji C ++ wyświetlałby wszystkie wartości komórki dwuwymiarowej struktury:
Cout << vtr[1].ProductID <<", "; cout << vtr[1].ProductName <<", "; cout << vtr[1].Category <<", "; cout << vtr[1].Number <1, zestaw telewizyjny, rozrywka, 10
2, VCD, rozrywka, 20
3, pudełko ubrania, gospodarstwo domowe, 30
4, perfumy, piękno, 40
5, banan, owoce, 50
6, gruszka, owoce, 60
Do wydrukowania wszystkich wartości komórek można użyć do pętli. For pętka itera by iterację nad rzędami, poczynając od indeksu 1. For pętka nie iterowałaby żadnego wiersza, ponieważ różne kolumny mają różne nazwy, a każda kolumna może być zidentyfikowana według jego nazwy.
Problem wiersza nagłówka
Rząd nagłówka jest na indeksie zero. Row nagłówkowy składa się ze wszystkich ciągów, ale reszta wierszy, nie mają tylko kolumn łańcuchowych. Cóż, wiersz nagłówka jako jeden ciąg to:
„ProductID, nazwa produktu, kategoria, liczba”Druga kolumna dwuwymiarowej struktury bierze ciąg. Tak więc cały ten ciąg nagłówka można umieścić w drugiej komórce rzędu 0. Reszta komórek w rzędzie 0 będzie miała swoje wartości domyślne. Na przykład domyślna wartość zmiennej INTIND to 0.
Kod można zapisać, aby oddzielić ten ciąg nagłówkowy na jego sznurki na nagłówek kolumny, aby wyświetlić całą tabelę, w tym wiersz nagłówka, ale nie jest to rozwiązane w tym artykule.
Wykonanie drugiej komórki wiersza 0 ma cały ciąg nagłówka, jest prosty w następujący sposób:
vtr [0].ProductName = "ProductId, ProductName, kategoria, liczba";Zwróć uwagę na indeks 0 dla wiersza 0. Czytanie tego wszystkiego jako jeden ciąg jest również prosty w następujący sposób:
String str = vtr [0].Nazwa produktu;Wyjście powinno być:
ProductID, nazwa produktu, kategoria, liczbaProblemem może być oddzielenie całego ciągu na ciągły nagłówka kolumn - to jest dyskusja od innego czasu.
Wniosek
Aby utworzyć wektor struktur, zdefiniuj strukturę, z uogólnioną (klasą) nazwą. Zrób argument szablonu wektora zainteresowania, uogólniona nazwa struktury. Uzyskaj dostęp do każdej komórki dwuwymiarowej struktury z składnią, VTR [i].Nazwa kolumny.