Facebook - konwersja
  • promocja

Microsoft Visual Studio 2012. Programowanie w C i C++ - ebook

Wydawnictwo:
Data wydania:
3 lutego 2015
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Microsoft Visual Studio 2012. Programowanie w C i C++ - ebook

Dołącz do najlepszych, zacznij programować w C i C++!

  • Poznaj środowisko Microsoft Visual Studio 2012!
  • Odkryj uniwersalne narzędzia programistyczne!
  • Naucz się programować w językach C i C++!

Informatyka w obecnym kształcie nie mogłaby istnieć bez języków C i C++. Oba miały ogromne znaczenie dla powstania współczesnych systemów operacyjnych i oprogramowania użytkowego. Od systemu UNIX, poprzez Linuksa, aż po różne wersje systemu Windows — wszystkie środowiska w mniejszym lub większym stopniu zostały zbudowane za pomocą C lub C++. Prosta składnia tych języków, ich wysoka wydajność i ogromne możliwości zapewniły im wierną rzeszę profesjonalnych użytkowników, wielką popularność w instytucjach naukowych oraz liczne „potomstwo” w postaci języków programowania wykorzystujących mechanizmy i konstrukcje wprowadzone po raz pierwszy właśnie w C i C++.

Jeśli chcesz poznać podstawy programowania przy użyciu najpopularniejszego narzędzia do tworzenia aplikacji dla Windows, nie mogłeś lepiej trafić! Książka Microsoft Visual Studio 2012. Programowanie w C i C++ wprowadzi Cię w świat programowania proceduralnego w C i zorientowanego obiektowo w C++. Dowiesz się, jak zainstalować i wykorzystywać środowisko Visual Studio 2012, poznasz techniki stosowane przez programistów oraz nauczysz się samodzielnie budować programy. Uważna lektura pozwoli Ci opanować języki C i C++ w takim stopniu, aby dalsza nauka nie stanowiła najmniejszego problemu.

Przeczytaj i poznaj:

  • metody instalacji i konfiguracji środowiska Visual Studio 2012
  • sposoby kompilacji, budowania, poprawiania i uruchamiania programów
  • strukturę kodu programów i konstrukcje programistyczne w językach C i C++
  • instrukcje warunkowe, operatory i funkcje
  • operacje wejścia-wyjścia, strumienie oraz działania na zbiorach danych
  • podstawy programowania zorientowanego obiektowo
  • dziedziczenie i polimorfizm, szablony i iteratory oraz obsługę sytuacji wyjątkowych

Programowanie to nic trudnego, przekonaj się o tym jeszcze dziś!

Spis treści

Wstęp (11)

  • Język C (11)
  • Język C++ (12)
  • Zawartość książki (14)
  • Trochę teorii (15)
    • Kod maszynowy (15)
    • Asembler (16)
    • Interpreter (16)
    • Kompilator (17)
    • Kompilator JIT (18)
    • Problem jajka i kury (18)

CZĘŚĆ I. ŚRODOWISKO PRACY (19)

Rozdział 1. Środowisko programistyczne Microsoft Visual Studio Express 2012 (21)

  • Pobranie programu instalacyjnego (21)
  • Instalacja (24)
  • Pierwsze uruchomienie (26)
  • Instalacja pakietu polonizującego (28)
  • Uruchamianie (30)
  • Wybór języka interfejsu użytkownika (32)
  • Rejestracja (33)
  • Tworzenie nowego projektu (35)
  • Tworzenie zbiorów tekstu źródłowego programu (38)
  • Kompilacja rozwiązania (42)
  • Wybór wariantu kompilacji (44)
  • Usuwanie błędów kompilacji (45)
  • Zapisywanie zmian w tekście źródłowym (48)
  • Uruchamianie programu spoza środowiska (48)
  • Kończenie pracy (49)

CZĘŚĆ II. JĘZYK C (51)

Rozdział 2. Wprowadzanie, wyprowadzanie i przechowywanie danych (53)

  • Podprogram główny (53)
  • Umieszczanie tekstu na ekranie (55)
  • Komentarze (61)
  • Przechowywanie danych w pamięci (63)
    • Literały (63)
    • Deklaracja a definicja (63)
    • Definiowanie zmiennej (65)
    • Całkowite typy danych (65)
    • Znakowe typy danych (68)
    • Zmiennoprzecinkowe typy danych (69)
    • Nazywanie zmiennych (70)
    • Deklarowanie własnych typów danych (71)
  • Obliczenia (71)
    • Operacje algebraiczne (71)
    • Operacje bitowe (73)
    • Skracanie wyrażeń algebraicznych (74)
  • Wyprowadzanie danych (77)
  • Rzutowanie typów danych (81)
  • Zmienne tymczasowe (82)
  • Pobieranie informacji o zmiennych (83)
  • Pobieranie danych z klawiatury (86)
  • Śledzenie realizacji programu (90)
    • Krokowa realizacja programu (91)
    • Podgląd zawartości zmiennych (92)
    • Pułapki (94)
  • Podsumowanie (94)

Rozdział 3. Konstrukcje warunkowe i typy wyliczeniowe (97)

  • Zmienne i wyrażenia logiczne (98)
    • Wartości logiczne (98)
    • Zmienne logiczne (98)
    • Wyrażenia logiczne (99)
  • Instrukcja warunkowa (102)
  • Operator warunkowy (106)
  • Typy wyliczeniowe (109)
    • Definiowanie typu wyliczeniowego (109)
    • Wartości liczbowe wyliczeń (110)
    • Używanie zmiennych typów wyliczeniowych (111)
    • Konwersja typów wyliczeniowych i liczbowych (112)
  • Konstrukcja warunkowa (113)
  • Podsumowanie (120)

Rozdział 4. Struktury i unie (123)

  • Struktury (124)
    • Deklarowanie struktury (125)
    • Definiowanie zmiennej strukturalnej (126)
    • Korzystanie z pól struktury (127)
    • Zagnieżdżanie struktur (129)
    • Kopiowanie zmiennych strukturalnych (133)
  • Unie (134)
    • Deklarowanie unii (135)
    • Definiowanie unii (135)
    • Korzystanie z pól unii (135)
    • Unie anonimowe w strukturach (136)
  • Podsumowanie (138)

Rozdział 5. Pętle, tablice i zmienne łańcuchowe (141)

  • Pętle (142)
    • Pętla while (143)
    • Pętla do...while (146)
    • Pętla for (149)
    • Przerywanie pętli (151)
  • Tablice (154)
    • Definicja tablicy (154)
    • Zajętość pamięci tablicy (156)
    • Dostęp do elementów tablicy (157)
    • Tablice wielowymiarowe (158)
    • Zerowanie istniejącej tablicy (160)
  • Zmienne łańcuchowe (161)
    • Definiowanie zmiennej łańcuchowej (163)
    • Wypisywanie tekstu na ekranie (164)
    • Generowanie tekstu (166)
    • Przypisywanie i kopiowanie tekstu (167)
    • Scalanie napisów (171)
    • Wprowadzanie tekstu z klawiatury (172)
    • Pomiar długości tekstu (175)
    • Porównywanie napisów (177)
    • Wyszukiwanie fragmentów tekstu (179)
    • Podprogramy standardowe operujące na znakach (183)
  • Podsumowanie (184)

Rozdział 6. Programowanie proceduralne (187)

  • Techniki podziału na podprogramy (188)
  • Podprogramy bezparametrowe (189)
  • Zmienne globalne i lokalne (193)
    • Zmienne lokalne (194)
    • Zmienne globalne (195)
    • Statyczne zmienne lokalne (198)
  • Parametry podprogramów (199)
    • Parametry typów prostych (200)
    • Parametry tablicowe (201)
    • Parametry typów złożonych (203)
    • Parametry typu łańcuchowego (206)
  • Zwracanie wyniku działania podprogramu (207)
    • Zwracanie wyniku przez return (208)
    • Zwracanie wyników przez parametry (209)
  • Deklaracje podprogramów (211)
  • Podprogramy biblioteki standardowej (212)
    • stdlib.h (212)
    • math.h (213)
    • time.h (214)
    • conio.h (215)
  • Rekurencja (215)
    • Rekurencja jako odpowiednik pętli (216)
    • Algorytmy rekurencyjne (217)
    • Stos wywołań podprogramów (218)
  • Program przykładowy (220)
  • Podsumowanie (225)

Rozdział 7. Operacje wejścia-wyjścia (227)

  • Terminologia (228)
    • Zbiory danych (228)
    • Strumień danych (230)
    • Strumienie standardowe (231)
  • Wejście i wyjście standardowe (231)
    • Podprogramy wprowadzania i wyprowadzania danych (232)
    • Uruchamianie programów wsadowych (233)
    • Potoki (236)
    • Filtry (239)
  • Współpraca z systemem operacyjnym (241)
    • Wiersz polecenia (241)
    • Ustalanie treści wiersza polecenia (242)
    • Kod wyniku działania programu (243)
  • Zbiory (245)
    • Zmienna plikowa (245)
    • Otwieranie zbioru dyskowego (245)
    • Zamykanie zbioru dyskowego (247)
    • Zapisywanie danych tekstowych (248)
    • Odczytywanie danych tekstowych (249)
    • Stwierdzanie osiągnięcia końca zbioru (250)
    • Powtórne odczytanie zbioru (251)
    • Przykład odczytywania informacji ze zbioru tekstowego (252)
    • Binarny zapis informacji (254)
    • Zapisywanie danych binarnych (255)
    • Odczytywanie danych binarnych (257)
    • Zmienne łańcuchowe w zbiorach binarnych (258)
    • Pozycja w zbiorze binarnym (261)
    • Pobieranie rozmiaru zbioru (263)
    • Przykład korzystania ze zbioru binarnego (264)
    • Opróżnianie buforów zapisu (269)
  • Podsumowanie (270)

Rozdział 8. Dynamiczne gospodarowanie pamięcią operacyjną (273)

  • Informacje podstawowe (274)
    • Adresacja pamięci (274)
    • Typy bloków pamięci (276)
    • Terminologia (277)
  • Zmienne wskaźnikowe (278)
    • Definicja (278)
    • Pobranie adresu zmiennej (279)
    • Amorficzna zmienna wskaźnikowa (280)
    • Dereferencja (281)
    • Zmiana przyporządkowania (282)
    • Zmienne wskaźnikowe a tablice (283)
    • Zmienne wskaźnikowe a struktury i unie (284)
    • Zmienne wskaźnikowe a zmienne łańcuchowe (285)
    • Rozmiar wskaźnika (286)
  • Pamięć przydzielana dynamicznie (288)
    • Alokowanie bloku pamięci (289)
    • Zmiana rozmiaru bloku pamięci (292)
    • Zwalnianie bloku pamięci (295)
    • Dynamiczna alokacja pamięci na stosie (298)
  • Operacje na blokach pamięci (299)
    • Zapełnianie bloku pamięci (299)
    • Kopiowanie zawartości bloku pamięci (302)
    • Porównywanie zawartości bloków pamięci (307)
    • Wyszukiwanie bajtu (310)
  • Podsumowanie (311)

Rozdział 9. Programowanie wielomodułowe (313)

  • Jednostki kompilacji (314)
    • Dodawanie nowej jednostki kompilacji (314)
    • Zmiana nazwy zbioru (316)
    • Usuwanie jednostki kompilacji (317)
  • Podprogramy (317)
    • Deklaracje podprogramów (318)
    • W różnych jednostkach kompilacji (320)
  • Zmienne globalne (321)
  • Zbiory nagłówkowe (322)
  • Kompilacja warunkowa (323)
    • Warianty generowania kodu (323)
    • Kompilacja warunkowa (324)
    • Asercje (325)
  • Podsumowanie (327)

CZĘŚĆ III. JĘZYK C++ (329)

Rozdział 10. Składnia języka C++ (331)

  • Zbiory nagłówkowe (331)
  • Zmienne (332)
    • Definiowanie zmiennych (332)
    • Typy złożone (333)
    • Atrybut const (333)
    • Wartości stałe (334)
    • Referencje (335)
  • Podprogramy (338)
    • Parametry typu const (338)
    • Parametry przekazywane przez referencję (339)
    • Przeciążanie podprogramów (340)
    • Argumenty domyślne (342)
  • Rzutowanie typów danych (343)
  • Podsumowanie (345)

Rozdział 11. Przestrzenie nazw (347)

  • Tworzenie i rozszerzanie przestrzeni nazw (348)
  • Używanie przestrzeni nazw (349)
  • Wymuszanie użycia przestrzeni nazw (351)
    • Używanie wybranych symboli (351)
    • Używanie przestrzeni nazw (352)
    • Przemianowywanie przestrzeni nazw (352)
  • Anonimowe przestrzenie nazw (353)
  • Podsumowanie (354)

Rozdział 12. Programowanie obiektowe (355)

  • Struktury danych (355)
    • Deklaracja struktury (355)
    • Pola statyczne (356)
    • Konstruktor (357)
    • Destruktor (367)
    • Atrybuty dostępności (371)
    • Metody (373)
    • Wskaźnik this (381)
  • Hermetyzacja struktur danych (382)
  • Struktury, klasy, obiekty (387)
  • Podsumowanie (388)

Rozdział 13. Dziedziczenie i polimorfizm (391)

  • Dziedziczenie (392)
    • Klasa bazowa (392)
    • Klasa pochodna (393)
    • Hierarchia klas (394)
    • Dziedziczenie a zawieranie (394)
    • Konstruktory klas pochodnych (396)
    • Destruktory klas pochodnych (398)
    • Przykrywanie metod (399)
    • Dziedziczenie wielobazowe (401)
    • Przykład (407)
  • Polimorfizm w dziedziczeniu (411)
    • Kiedy dziedziczenie i przykrywanie metod nie wystarczają (411)
    • Metody wirtualne (413)
    • Konstruktory i destruktory (423)
  • Dynamiczna identyfikacja typów (424)
    • Mechanizm RTTI (424)
    • Rzutowanie dynamiczne (426)
    • Uwagi (428)
  • Podsumowanie (428)

Rozdział 14. Przeciążanie operatorów (431)

  • Operatory (432)
  • Przeciążanie operatorów symbolicznych (433)
    • Binarne operatory arytmetyczne (433)
    • Unarne operatory arytmetyczne (434)
    • Operatory porównania (436)
    • Operatory logiczne (437)
    • Operatory bitowe (438)
    • Operator przypisania (438)
    • Operatory zespolone (440)
    • Operator indeksowy (440)
    • Operatory adresowe (442)
    • Pozostałe operatory (442)
  • Operatory konwersji (443)
  • Podsumowanie (444)

Rozdział 15. Programowanie uogólnione (445)

  • Szablony podprogramów (446)
    • Zapisywanie szablonu (447)
    • Wyszczególnienie szablonu (448)
    • Specjalizowanie szablonu (450)
  • Szablony klas (451)
    • Szablony metod (452)
    • Zapisywanie szablonu (453)
    • Wyszczególnienie szablonu (454)
    • Szablony zależne od wartości liczbowych (455)
    • Argumenty domyślne szablonu (456)
    • Specjalizowanie szablonu (457)
  • Zaawansowane szablony (460)
    • Szablony cechujące (460)
    • Klasy określające reguły (461)
  • Podsumowanie (465)

Rozdział 16. Zmienne łańcuchowe i strumienie (467)

  • Zmienne łańcuchowe (468)
    • Obiektowe typy łańcuchowe (468)
    • Tworzenie zmiennej łańcuchowej (470)
    • Zmiana zawartości zmiennej łańcuchowej (470)
    • Pobieranie długości tekstu (471)
    • Pobieranie treści (471)
    • Porównywanie tekstu (472)
    • Dostęp do pojedynczych znaków (473)
    • Wyszukiwanie fragmentów tekstu (474)
    • Pobieranie wycinka tekstu (476)
  • Strumienie standardowe (476)
    • Podstawowe klasy strumieni (476)
    • Strumienie standardowe (477)
    • Operatory strumieniowe (478)
    • Wyprowadzanie informacji (478)
    • Formatowanie wyprowadzanych danych (479)
    • Wprowadzanie danych (480)
    • Wykrywanie końca danych wejściowych (482)
  • Strumienie zbiorów pamięci masowej (482)
    • Tryby otwarcia zbioru (483)
    • Otwieranie zbioru (484)
    • Zamykanie zbioru (485)
    • Serializacja i deserializacja danych (485)
    • Zbiory binarne (485)
  • Strumienie wirtualne (490)
    • Wirtualny strumień wejściowy (490)
    • Wirtualny strumień wyjściowy (491)
  • Podsumowanie (492)

Rozdział 17. Obsługa sytuacji wyjątkowych (495)

  • Sytuacje wyjątkowe (496)
    • Opis obiektowy (497)
    • Terminologia (498)
    • Wydajność (498)
    • Standardowe klasy sytuacji wyjątkowych (499)
  • Obsługa sytuacji wyjątkowych (501)
    • Blok chroniony (501)
    • Zgłaszanie sytuacji wyjątkowej (502)
    • Blok obsługi sytuacji wyjątkowych (504)
    • Zmienne w bloku chronionym (509)
  • Specyfikacje sytuacji wyjątkowych (509)
    • Specyfikacja sytuacji wyjątkowej (510)
    • Specyfikacja pusta (511)
    • Specyfikacja noexcept (512)
  • Podsumowanie (513)

Rozdział 18. Iteratory (515)

  • Teoria iteratorów (516)
    • Postać iteratora (516)
    • Rodzaje iteratorów (516)
    • Operacje wykonywane na iteratorze (518)
  • Iteratory standardowe (519)
    • Szablon std::iterator (520)
    • Zwyczajowe nazwy klas iteratorów (520)
    • Pobieranie iteratorów (521)
    • Przemieszczanie iteratora (522)
    • Pomiar odległości iteratorów (523)
  • Własne klasy iteratorów (524)
    • Przykładowa klasa kontenera (525)
    • Klasa iteratora (526)
    • Pola i ich inicjalizacja (526)
    • Przeciążenie operatorów (527)
    • Metody tworzące iteratory (530)
    • Całość klasy kontenera i iteratora (530)
    • Iterowanie kolekcji z wykorzystaniem iteratorów (531)
    • Przemieszczenie i odległość (532)
    • Program przykładowy (532)
  • Podsumowanie (534)

Rozdział 19. Biblioteka standardowa STL (537)

  • Pojęcia podstawowe (538)
    • Alokatory (538)
    • Pary (539)
  • Kontenery (540)
    • Podstawowe struktury przechowywania danych (540)
    • Podstawowe operacje (541)
    • Tablica dynamiczna (543)
    • Tablica segmentowa (548)
    • Lista (550)
  • Adaptery (553)
    • Stos (553)
    • Kolejka (555)
    • Tablica asocjacyjna (558)
    • Zbiory elementów (562)
  • Algorytmy (564)
    • Zamiana wartości (565)
    • Zliczanie elementów (565)
    • Określanie wartości skrajnych (565)
    • Porównywanie elementów (566)
    • Kopiowanie elementów (567)
    • Zapełnianie podzbioru elementów (568)
    • Porządkowanie elementów (568)
  • Podsumowanie (569)

Rozdział 20. Programowanie wielomodułowe (571)

  • Przestrzenie nazw (571)
  • Klasy (572)
  • Szablony (572)
  • Podsumowanie (573)

Dodatek. Tabela kodów znaków ASCII (575)

Skorowidz (581)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-1126-8
Rozmiar pliku: 11 MB

BESTSELLERY

Kategorie: