XIV. Struktury danych

Podobne dokumenty
VII. Ciągi znaków łańcuchy

XV. Wskaźniki Odczytywanie adresu pamięci istniejących zmiennych Wskaźniki pierwsze spojrzenie.

XII. Warunek wielokrotnego wyboru switch... case

Deklaracja struktury w C++

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Struktury, unie, formatowanie, wskaźniki

11. PROFESJONALNE ZABEZPIECZENIE HASŁEM

Zmienne i struktury dynamiczne

Instalacja i opis podstawowych funkcji programu Dev-C++

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Programowanie komputerowe. Zajęcia 1

Wprowadzenie do języka Java

referencje Wykład 2. Programowanie (język C++) Referencje (1) int Num = 50; zdefiniowano zmienną Num (typu int) nadając jej wartość początkową 50.

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Tablice. Jones Stygar na tropie zmiennych

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

Część 4 życie programu

Struktury Struktura polami struct struct struct struct

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Egzamin z Podstaw informatyki i programowania 2007/2008

Przedrostkowa i przyrostkowa inkrementacja i dekrementacja

C++ wprowadzanie zmiennych

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku.

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Programowanie - wykład 4

C-struktury wykład. Dorota Pylak

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Komunikator internetowy w C#

Struktury typ definiowany przez uŝytkownika.

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

XVII. Funkcje w C Ogólna budowa funkcji Definicja funkcji Co waŝnego powinniśmy wiedzieć o funkcjach

Utworzenie pliku. Dowiesz się:

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

ZASADY PROGRAMOWANIA KOMPUTERÓW

C-struktury wykład. Dorota Pylak

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Programowanie obiektowe

USOSweb wypełnianie protokołów

Język C++ Różnice między C a C++

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

1 Podstawy c++ w pigułce.

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Programowanie 2. Język C++. Wykład 9.

Spis treści. I. Czym jest Indeks Haseł 3 II. Wyszukiwanie hasła 4. 1) Alfabetyczna lista haseł 4 2) Wyszukiwarka haseł 4 3) Grupy haseł 6

Programowanie 2. Język C++. Wykład 3.

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Program 14. #include <iostream> #include <ctime> using namespace std;

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

Pytania sprawdzające wiedzę z programowania C++

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

1 Podstawy c++ w pigułce.

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Interpreter - EasyCompile

Podstawy Programowania

Operacje wejścia/wyjścia odsłona pierwsza

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Rozdział 4 KLASY, OBIEKTY, METODY

Wypełnianie protokołów systemie USOSweb

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

Podstawy Programowania

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

lekcja 8a Gry komputerowe MasterMind

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

Programowanie komputerowe. Zajęcia 5

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Systemy liczenia. 333= 3*100+3*10+3*1

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Programowanie i struktury danych

Aplikacje w środowisku Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

z :11

Dziedziczenie. Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut.

Struktury - wprowadzenie

Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

int suma; pralka czerwona; // definicja egzemplarza obiektu pralka * wskaŝ; // definicja wskaźnika pralka & ruda = czerwona; // definicja referencji

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Warunek wielokrotnego wyboru switch... case

Instrukcja uŝytkownika

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Aplikacje w środowisku Java

Programowania w Javie

Instrukcja uŝytkownika

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 8. Karol Tarnowski A-1 p.

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 8. Karol Tarnowski A-1 p.

Transkrypt:

XIV. Struktury danych 14.1. Organizacja danych Jeśli próbowałeś juŝ pisać jakąś bazę danych, np. przechowującą kontakty telefoniczne do róŝnych osób to zauwaŝyłeś pewnie, Ŝe szukanie nazw tablic i posługiwanie się wieloma tablicami dla jednej osoby nie jest wygodne. Z pomocą przychodzą tu struktury, które pozwalają na zorganizowanie danych w wygodniejszy sposób. Struktury potrafią przechowywać róŝne typy danych. Deklaracja struktury wygląda następująco: struct Uzytkownicy_DDT //deklaracja struktury //opis struktury short data_zalozenia_konta; std:string status; Elementy charakteryzujące ten typ danych to: słowo kluczowe struct, które informuje kompilator, Ŝe będzie definiowana struktura, opis struktury opisujący zawartość struktury, jest to najprostsza postać klasy. W przykładzie został wykorzystana biblioteka string, zapoznaj się z nią nim przejdziesz do analizy kursu! 14.2. Wykorzystanie struktury w praktyce PoniewaŜ wiemy juŝ jak utworzyć własny, bardziej złoŝony typ danych to dobrze by było, gdybyśmy teraz wiedzieli jak go moŝemy wykorzystać. Zmienną deklarujemy tak samo, jak w przypadku standardowych typów danych. ------ struct Uzytkownicy_DDT //deklaracja struktury //opis struktur short lp; std::string status; std::string rodzaj_konta; //Tworzenie obiektu struktury i wypełnianie------- Uzytkownicy_DDT PiotrSzawdynski =

"PiotrSzawdynski", "!@#$%%^", 1, "Admin" /*WAśNE dla niektórych kompilatorów naleŝy uŝyć zapisu static Uzytkownicy_DDT PiotrSzawdynski =*/ Uzytkownicy_DDT Pietrzuch = "Pietrzuch", "@m@m$@#@", 24, "Moderator" /*inny sposób wprowadzania danych do obiektu*/ //tworzenie obiektu Uzytkownicy_DDT Piotrus_Pan; /*wypełnianie obiektu wartościami dla poszczególnych typów danych*/ Piotrus_Pan.haslo = "PanPiotr"; Piotrus_Pan.lp = 927; Piotrus_Pan.nik = "Piotrus_Pan"; Piotrus_Pan.rodzaj_konta = "Uzytkownik"; Piotrus_Pan.status = "zablokowany"; //wyświetlenie obiektów cout << "Oto lista uzytkownikow forum DDT" << "Nik " << PiotrSzawdynski.nik << "haslo " << PiotrSzawdynski.haslo << "Nr usera " << PiotrSzawdynski.lp << "Status " << PiotrSzawdynski.status << PiotrSzawdynski.rodzaj_konta << "Nik " << Pietrzuch.nik << "haslo " << Pietrzuch.haslo << "Nr usera " << Pietrzuch.lp << "Status " << Pietrzuch.status << Pietrzuch.rodzaj_konta << "Nik " << Piotrus_Pan.nik << "haslo " << Piotrus_Pan.haslo << "Nr usera " << Piotrus_Pan.lp << "Status " << Piotrus_Pan.status << Piotrus_Pan.rodzaj_konta;

14.3. Analiza kodu Jak pewnie się zorientowałeś strukturę moŝna wypełnić podobnie jak tablicę, gdy oczywiście przed uruchomieniem programu znamy wartości jakie ma zawierać. Co warte podkreślenia struktura Uzytkownicy_DDT posiada trzy obiekty PiotrSzawdynski, Pietrzuch, Piotrus_Pan. By wprowadzić bądź wyświetlić wartości danego obiektu, musimy uŝyć kropki(. )!!! nazwa_obiektu.nazwa_zmiennej = wartość_wprowadzana Większość kompilatorów po wprowadzeniu kropki z klawiatury wyświetla podpowiedz dla danego obiektu(typy danych dla tego obiektu(struktury)). WAśNE!!! dla niektórych kompilatorów naleŝy uŝyć słowa kluczowego static Uzytkownicy_DDT PiotrSzawdynski. static Uzytkownicy_DDT PiotrSzawdynski = "PiotrSzawdynski", "!@#$%%^", 1, "Admin" 14.4. Tablice struktur //Tablice struktur------------------------------ struct DDT //deklaracja struktury //opis struktury std::string status; std::string rodzaj_konta; //Tworzenie obiektu struktury------- DDT Uzytkownicy[3]; cout << "Wprowadz dane.\n"; //wprowadzenie 3 uzytkowników for(short licz = 0; licz < 3; licz++) cout << "Podaj nik "; cin >> Uzytkownicy[licz].nik; cout << "Podaj haslo "; cin >> Uzytkownicy[licz].haslo; //wyswietlanie wprowadzonych danych cout

<< "Oto rezultat wprowadzonych danych:" ; for(short licz = 0; licz < 3; licz++) cout << "Uzytkownik " << licz + 1 << " Nik " << Uzytkownicy[licz].nik << " haslo " << Uzytkownicy[licz].haslo ; //-------------------------------------------- Właściwie nie ma róŝnić między uŝyciem tablicy zmiennych a tablicy struktur. Oczywiście moŝemy teŝ wypełnić tablice w ten sposób: DDT Uzytkownicy[3] = //UŜytkownik[0] "PiotrSzawdynski", "!@#$%%^", //UŜytkownik[1] "Pietrzuch", "@m@m$@#@", //UŜytkownik[2] "Piotrus_Pan", "PanPiotr" 14.5. Przypisanie struktury do struktury Tak jak zmienną moŝna przypisać do innej zmiennej tak samo moŝna postąpić z strukturą danych. Wystarczy uŝyć operatora =. //Przypisanie struktur------------------------------ struct DDT //deklaracja struktury //opis struktury short wiek; char plec; DDT Monika, Mariola, Kasia; Monika.nik = "Mika"; Monika.plec = 'K'; Monika.wiek = 20; //przypisanie struktur

Kasia = Mariola = Monika; cout << "Wyswietla uzytkownikow plci pieknej" << "Nik - " << Kasia.nik << "Nik - " << Mariola.nik << " wiek " << Mariola.wiek << "Nik - " << Monika.nik << " plec " << Monika.plec ; //-------------------------------------------- 14.6. Ćwiczenia 1. Farmer zwrócił się do Ciebie z prośbą byś napisał program, który będzie przechowywał informacje o rodzajach zwierząt jakie posiada. Zwierzęta to krowa, koza, kura, pies i świnia. Cechy tych zwierząt to nazwa, waga, wiek(podany w tygodniach), oraz data nabycia(zakupu). Farmer dodał, iŝ krowę i świnię kupił 24-04-08r od znajomego, pies przybłąkał się 6.05.02r, natomiast kozę i kurę dostał w prezencie od wójta 23.02.09. Niestety resztę cech musisz określić sam, na podstawie przyjętych średnich(google) dla tych zwierząt. Dane mają być zawarte w strukturze. Rezultatem programu ma być: a) pierwszy program wyświetlenie wszystkich danych w przejrzysty i zrozumiały dla uŝytkownika sposób, uŝytkownik nic nie podaje, program wyświetla tylko dane. b) drugi program program ma poprosić o wprowadzenie nazwy i wagi(w kilogramach) zwierzęcia(mają być wprowadzone trzy zwierzaki), oraz wyświetleniu danych w odwrotny sposób do tego w jaki zostały wprowadzone, oraz zachowaniu takiej kompozycji Trzoda zawiera m.in.: 1. nazwa_zwierzęcia jego waga to waga_zwierzęcia(podana w gramach) gram. 2. 3.