Obsługa plików.

Obsługa plików jest na pewnym poziomie pisania programów niezbędna. Język C i C++ umożliwiają dostęp do plików na różny sposób. W niniejszym materiale skupimy się na podejściu strumieniowym z wykorzystaniem dedykowanych temu klas (o klasach więcej będzie w części drugiej – obiektowej). Można wyróżnić trzy klasy posiadające rozbudowane opcje obsługi plików i są to: ofstream: Klasa strumieniowa obsługująca zapisywanie do pliku, ifstream: Klasa Dowiedz się więcej…

Obsługa klawiatury

Trudno wyobrazić sobie aby każdy program mógł kontaktować się z użytkownikiem tylko wypisując komunikaty, ale nie umożliwiając pobrania żadnych danych od niego. Urządzenie terminalowe składa się z dwu elementów – ekranu oraz klawiatury – dlatego naturalnym procesem jest obsługa tejże w celu pobrania danych od użytkownika. W języku C i C++ przewidziano różną filozofię obsługi terminala, w C++ obsługę stanowi dedykowany strumień w kanale Dowiedz się więcej…

Tablice jedno i wielowymiarowe.

Trudno dziś wyobrazić sobie programowanie bez znajomości tych struktur. Czym są tablice?! W najprostszym ujęciu są one strukturą złożoną z wielu elementów tego samego typu. Co to oznacza? Można wyobrazić sobie następującą sytuację, gdy potrzebujemy przechować wartości dla 5 zmiennych typu int w następujący sposób: Osiągnęliśmy zamierzony cel, ale… czy jest to wygodne?! To pokaże następujący przykład: załóżmy, że potrzebujemy wyświetlić wartości tych Dowiedz się więcej…

C++ ADDENDUM 5: Metody rekurencyjne.

Metody rekurencyjne są takimi metodami, które w kodzie programu wywołują same siebie. Powoduje to przejście wykonywania programu do uruchomionego podprogramu i swobodne zagnieżdżanie się tak wywoływanych metod, aż do uzyskania zamierzonego celu (bądź wyczerpania zasobów pamięci maszyny obliczeniowej). Prostym przykładem metody rekurencyjnej jest poniższy program: Jak widać, w powyższym kodzie nie ma w nim ani jednej jawnej pętli, a mimo to program wykonał się Dowiedz się więcej…

Pętle i zagrożenia

Trudno wyobrazić sobie program mający 1753 linie kodu podobne do poniższego przykładu: (Chociaż znam studentów… którzy w podobny sposób rozwiązują zadanie na kolokwium) Od razu widać w kodzie pewną prawidłowość, która sprawia, że można podzielić ten kod na bloki w zasadzie identyczne, różniące się jedynie przyrostową wartością zmiennej a. Od razu “prosi się” to o zastanowienie czy istnieje mechanizm ułatwiający takie operacje i optymalizujący kod. Dowiedz się więcej…

C++ ADDENDUM 3: Wartości losowe.

Wartościami losowymi w C/C++ zajmuje się m.in. wbudowany generator liczb pseudolosowych. Aby go użyć należy upewnić się, że dołączamy bibliotekę cstdlib lub po prostu iostream. Generator losuje liczby z zakresu od 0 do RAND_MAX, który to literał jest zdefiniowany w bibliotece cstdlib. Najprostszy program pokazujący użycie generatora pokazany jest poniżej: Kilkukrotne uruchomienie powyższego programu zdradza, że coś jest nie tak – zawsze program podaje Dowiedz się więcej…

TEMAT 5: Wyrażenia warunkowe.

Nader często zachodzi konieczność zbadania jakiegoś zdarzenia występującego w programie, a po tym do odpowiedniej reakcji na nie. Prowadzi to do rozwidleń w działaniu programu, gdzie w zależności od wyników badania danego zdarzenia wykonujemy inny kod programu, a następnie po obsłużeniu tego zdarzenia program realizuje się dalej. If () else… Tego typu obsługa nazywa się obsługą poprzez wyrażenia warunkowe (ang: conditional statements). Dowiedz się więcej…

TEMAT 4: Operacje arytmetyczne i binarne operacje bitowe.

Operacje arytmetyczne mają w przypadku programowania takie same zasady jak wyuczone na matematyce. Kolejność działań matematycznych zawsze odbywa się według tego samego schematu z uwzględnieniem priorytetów operatorów +, –, * i / (dzielenie). Wyrażenie matematyczne zawsze obliczane jest od lewej do prawej, czyli np. takie wyrażenie: 37 – 9 * 3 + 12 / 4 ma wartość: 13 Dowiedz się więcej…

TEMAT 3: Podstawowe operacje wyjścia, formatowanie wyświetlanych informacji.

Program, aby mógł być użyteczny musi sygnalizować swoje działanie na ekranie konsoli. Służy do tego np. komenda printf(), poznana już uprzednio. Jest to komenda należąca do standardowej biblioteki stdio.h (cstdio) języka C. Jednakże w C++ wprowadzono zagadnienie strumieni i zdefiniowano narzędzia pracujące z nimi. Są to np. cout – do wyprowadzania danych na konsolę (np. monitor) oraz cin do pobierania danych z konsoli (np. klawiatura). Dodatkowym strumieniem jest Dowiedz się więcej…

C++ ADDENDUM 2: Polskie litery w konsoli.

Często da się zauważyć, że środowisko programistyczne przyjmuje w treści programowanych komunikatów polskie litery. Niestety podczas uruchomionego programu wyświetlają się zamiast nich klasyczne “krzaczki”. Jest to spowodowane stroną kodową w jakiej wyświetlana jest konsola – najczęściej jest to strona kodowa, która nie zawiera polskich znaków – tj. CP850. Ta strona kodowa jest zestawem znaków alfabetu łacińskiego wraz ze znakami języków Dowiedz się więcej…