Struktury
Pojęcie struktury Struktura jest złożonym obiektem danych składającym się z elementów różnych typów Każdy element ma swoją unikatową w ramach struktury nazwę Charakterystyczna w języku C W języku C++ zastąpiona klasą, ale zachowana ze względu na zgodność z C Dodatkowe możliwości w C++ np. dodawanie metod do struktury
Deklaracja struktury struct nazwa_struktury { typ element_składowy_1; typ element_składowy_n; }
Przykład struct osoba { char* nazwisko; char inicjal_imienia; integer data_urodzenia; }
Nadawanie wartości Przykład: osoba magazynier = { Kowalski, J, 1980 }
Zapis kropkowy Posługując się nazwą zmiennej typu strukturalnego (np. Kowalski z poprzedniego przykładu) za każdym razem operujemy na całej strukturze. Dostęp do poszczególnych elementów struktury możliwy jest przez tzw. zapis kropkowy polegający na użyciu nazwy elementu poprzedzonej kropką i nazwą zmiennej typu strukturalnego Np. dostęp do roku urodzenia przykładowego Kowalskiego uzyskamy stosując zapis: magazynier. rok_urodzenia
Przykład // nadanie wartości magazynier.nazwisko = Kowalski // wypisanie na ekran wartości cout << magazynier. nazwisko
Zadania Część wspólna: każde z zadań ma operować na tablicy składającej się z 10 elementów, każdy element ma być określonego typu strukturalnego program ma umożliwiać: dostęp do wybranego elementu tablicy i: nadanie wartości określonemu elementowi struktury wyświetlenie wartości określonego elementu tablicy zmianę wartości danego elementu Część indywidualna każde zadanie dotyczy innej struktury danych w każdym zadaniu ma być zaimplementowana funkcja wyszukiwania elementów tablicy wg określonego kryterium i wypisanie na ekran wszystkich wyników lub informacji o ich braku
Treść zadań 1. Struktura osoba: a) informacje na temat: imię, nazwisko, data urodzenia, płeć zmienna typu bool b) wyszukiwanie osób o roku urodzenia z zadanego zakresu 2. Struktura student: a) informacje: imię, nazwisko, kierunek studiów, semestr, nr indeksu, płeć zmienna typu bool b) wyszukiwanie osób studiujących na danym kierunku na semestrze z określonego przedziału 3. Struktura klub_ekstraklasy: a) informacje: nazwa klubu, miejscowość, rok założenia, informacje o tym, czy klub był mistrzem Polski i czy zdobył Puchar Polski (zmienne typu bool) b) wyszukiwanie klubów według zdobytych trofeów (np. te które zdobyły mistrzostwo) użytkownik decyduje o tym, które trofea go interesują 4. Struktura książka: a) informacje: autor, tytuł, rok wydania, nr ISBN, liczba stron, gatunek b) wyszukiwanie: książki o liczbie stron z zadanego zakresu
Treść zadań c.d. 5. Struktura film: a) informacje na temat: tytuł, rok, gatunek, czas trwania, reżyser b) wyszukiwanie filmów wybranego gatunku o długości z zadanego zakresu 6. Struktura piwo: a) informacje: nazwa, browar, typ (np. jasne pełne, pszeniczne, ciemne, miodowe itp.), zawartość alkoholu, zawartość ekstraktu, moja ocena (zmienna typu bool dobre lub niedobre) b) wyszukiwanie gatunków piwa o zawartości ekstraktu z zadanego przedziału 7. Struktura płyta: a) informacje: wykonawca, tytuł, czas, liczba utworów, gatunek, rok wydania b) wyszukiwanie płyt określonego gatunku wydanych w latach z zadanego zakresu 8. Struktura auto: a) informacje: marka, model, rocznik, poj. silnika, liczba biegów, typ nadwozia, informacja czy diesel (zm. typu bool) b) wyszukiwanie: auta z zadanego zakresu lat z silnikiem diesla lub nie
Treść zadań c.d. 9. Struktura czekolada: a) informacje na temat: nazwa, producent, nadziewana (Tak/Nie), waga, cena b) wyszukiwanie czekolady nadziewanej lub nie z określonego przedziału cenowego 10. Struktura mieszkanie: a) informacje: liczba pokoi, powierzchnia, wysokość czynszu, dzielnica, piętro b) wyszukiwanie mieszkań o wysokości czynszu z podanego zakresu 11. Struktura kosiarka: a) informacje: marka, model, elektryczna(tak/nie), szerokość koszenia, pojemność pojemnika, cena b) wyszukiwanie kosiarek elektrycznych lub nie z zadanego zakresu cenowego 12. Struktura wycieczka: a) informacje: dokąd?, zagraniczna (Tak/ Nie), ile dni?, cena, odległość b) wyszukiwanie wycieczek w trwających określoną liczbę dni i mieszczących się w zadanym przedziale cenowym 13. Struktura piosenka: a) informacje: tytuł, wykonawca, czas, gatunek, ocena w skali 1 do 5 b) wyszukiwanie piosenek danego gatunku o ocenie z pewnego zakresu
Treść zadań c.d. 14. Struktura koncert: a) informacje na temat: wykonawca, miejsce, data, godzina, cena biletu b) wyszukiwanie koncertów odbywających się w danym miesiącu 15. Struktura mecz: a) informacje: gospodarz, gość, data, godzina, cena biletu b) wyszukiwanie meczów odbywających się w danym okresie 16. Struktura menu: a) informacje: nazwa potrawy, wegetariańska (tak/nie), waga, cena, kategoria (np. główne danie, przystawka, deser, napój itp.) b) wyszukiwanie potraw wegetariańskich lub nie w podanym zakresie cenowym 17. Struktura adres: a) informacje: miejscowość, ulica, nr domu, nr mieszkania, nr kodu, województwo b) wyszukiwanie: adresów o numerze kodu z zadanego przedziału