Programowanie w C i C++ BORLAND C++



Podobne dokumenty
Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Zastanawiałeś się może, dlaczego Twój współpracownik,

WPROWADZENIE DO INFORMATYKI

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Dlaczego stosujemy edytory tekstu?

Opis klawiatury komputerowej

DOS Podstawowe komendy Przygotowanie dyskietki do pracy Praca z katalogami w systemie DOS Operacje kopiowania

Computer Setup Instrukcja obsługi

Wprowadzenie do środowiska Qt Creator

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Programowanie w języku Python. Grażyna Koba

Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8

Zadanie 9. Projektowanie stron dokumentu

Programowanie w środowisku graficznym GUI

Rozdział II. Praca z systemem operacyjnym

Informatyka I : Tworzenie projektu


Dodatki. Dodatek A Octave. Język maszyn

Klawiatura. Klawisze specjalne. Klawisze specjalne. klawisze funkcyjne. Klawisze. klawisze numeryczne. sterowania kursorem. klawisze alfanumeryczne

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Edytor tekstu MS Office Word

Programowanie niskopoziomowe

Ćwiczenie 6. Wiadomości ogólne.

Trochę o plikach wsadowych (Windows)

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 15 PRACA W TRYBIE MS-DOS. Opracował Sławomir Zieliński

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Skróty klawiaturowe w PowerPoint

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Klawisze szybkiego wyboru układu drabinkowego

Narzędzie Setup Instrukcja obsługi

MS-DOS polecenia wewnętrzne i

Podstawy pracy z edytorem tekstu. na przykładzie Open Office

MultiBoot Instrukcja obsługi

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Temat: Organizacja skoroszytów i arkuszy

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

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

WINDOWS XP PRO WINDOWS XP PRO

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne

Edytor tekstu OpenOffice Writer Podstawy

Zadania: 1. Funkcja przeliczająca F na C: float FtoC(float f){ return (f 32.0) * 5.0 / 9.0; }

Skróty klawiaturowe w systemie Windows 10

Jak zainstalować szablon allegro?

Stawiamy pierwsze kroki

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Instalowanie VHOPE i plików biblioteki VHOPE

Zgrywus dla Windows v 1.12

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

Programowanie obiektowe

5.2. Pierwsze kroki z bazami danych

I. Interfejs użytkownika.

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Jak zainstalować i skonfigurować komunikator MIRANDA, aby wyglądał i funkcjonował jak Gadu Gadu Tutorial by t800.

Rozdział 5. Administracja kontami użytkowników

pozwala wydrukować kopię czarno-białą, a przycisku kopię kolorową. Kopiowanie przy użyciu szyby skanera

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Nawigacja po długim dokumencie może być męcząca, dlatego warto poznać następujące skróty klawiszowe

TABULATORY - DOKUMENTY BIUROWE

Podręcznik użytkownika programu. Ceremonia 3.1

Pracownia internetowa w szkole ZASTOSOWANIA

TEMAT : System operacyjny MS DOS pliki wsadowe

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Formy dialogowe w środowisku Gnome

Kopiowanie, przenoszenie plików i folderów

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

Instrukcja aktualizacji oprogramowania (firmware) serwera DESKTOP 1.0 systemu F&Home RADIO.

KROK 17 i 18. Cel: Tworzymy oddzielne okno - O autorze. 1. Otwórz swój program. 2. Skompiluj i sprawdź, czy działa prawidłowo.

MentorGraphics ModelSim

Zakład Systemów Rozproszonych

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

PIERWSZE URUCHOMIENIE PROGRAMU ITNC PROGRAMMING STATION

Laboratorium - Zaawansowana instalacja Windows XP

Utworzenie pliku. Dowiesz się:

Nagrywamy podcasty program Audacity

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Zadanie 2. Tworzenie i zarządzanie niestandardową konsolą MMC

Instrukcja aktualizacji oprogramowania (firmware) serwera DESKTOP 2.0 systemu F&Home RADIO.

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Programowanie Komputerów 2FD. Materiały pomocnicze do laboratorium

Szybka instrukcja tworzenia testów dla E-SPRAWDZIAN-2 programem e_kreator_2

Aktualizacje oprogramowania Instrukcja obsługi

OPIS PROGRAMU USTAWIANIA NADAJNIKA TA105

Ćwiczenia z systemu operacyjnego WINDOWS

Podstawy technologii cyfrowej i komputerów

Memeo Instant Backup Podręcznik Szybkiego Startu

1. Instalacja Programu

Włączanie/wyłączanie paska menu

Lekcja 4. 3CD 3. Rysunek Okno programu Word. 3 Jak prawidłowo zakończyć pracę z programem? Omów jeden ze sposobów.

Ćwiczenie 1: Pierwsze kroki

Narzędzie Setup. Instrukcja obsługi

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Transkrypt:

Programowanie w C i C++ BORLAND C++ - 1-

Spis Treści Lekcja 1. Co o C i C++ każdy wiedzieć powinien. 3 Lekcja 2. Jak korzystać z kompilatora Borland C++? 8 Lekcja 3. Główne menu i inne elementy IDE. 11 Lekcja 4. Jeszcze o IDE C++. 18 Lekcja 5. Działania przy pomocy myszki i błędy w programie. 24 Lekcja 6. Następny program - komputerowa arytmetyka. 29 Lekcja 7. Z czego składa się program. 33 Lekcja 8. Jakich słów kluczowych używa C++. 42 Lekcja 9. O sposobach odwoływania się do danych. 51 Lekcja 10. Jakie operatory stosuje C++. 59 Lekcja 11. Jak deklarować zmienne. Co to jest wskaźnik. 65 Lekcja 12. Wskaźniki i tablice w C i C++. 74 Lekcja 13. Jak tworzyć w programie pętle i rozgałęzienia. 82 Lekcja 14. Jak tworzyć i stosować struktury. 90 Lekcja 15. Jak posługiwać się funkcjami. 97 Lekcja 16. Asembler tasm i basm. 108 Lekcja 17. Trochę szczególów technicznych. 115 Lekcja 18. O łańcuchach tekstowych 123 Lekcja 19. Kilka innych przydatnych funkcji. 131 Lekcja 20. Jeśli program powinien uruchomić inny program... 135 Lekcja 21. Kilka procesów jednocześnie. 141 Lekcja 22. Na zdrowy chłopski rozum programisty. 148 Lekcja 23. Co nowego w C++? 153 Lekcja 24. Skąd wzięły się klasy i obiekty w c++. 164 Lekcja 25. Przykład obiektu. 171 Lekcja 26. Co to jest konstruktor. 176 Lekcja 27. O dziedziczeniu. 185 Lekcja 28. Dziedziczenie złożone. 188 Lekcja 29. Funkcje i overloading. 193 Lekcja 30. Wymiana danych między obiektami. 197 Lekcja 31. Przekazanie obiektów jako argumentów do funkcji. 205 Lekcja 32. Wskaźniki do obiektów. 210 Lekcja 33. Overloading operatorów. 212 Lekcja 34. O zastosowaniu dziedziczenia. 222 Lekcja 35. Funkcje wirtualne i klasy abstrakcyjne. 227 Lekcja 36. Kaźdy dysk jest za mały, a kaźdy procesor zbyt wolny. 232 Lekcja 37. O C++, Windows i małym Chińczyku. 236 Lekcja 38. Korzystamy ze standardowych zasobów Windows. 242 Lekcja 39. Struktura programu proceduralno - zdarzeniowego 248 Lekcja 40. Jak tworzy się aplikację dla Windows? 254 Lekcja 41. Kompilatory "specjalnie dla Windows". 259 Lekcja 42. Elementy sterujące i zarządzanie programem. 265 Lekcja 43. O okienkach dialogowych. 272 Lekcja 44. Dołączanie zasobów - menu i okienka dialogowe. 275 Lekcja 45. O programach obiektowo - zdarzeniowych. 280 Lekcja 46. Aplikacja obiektowa - rysowanie w oknie. 290 Lekcja 47. O pakietach Borland C++ 4/4.5. 294 Plik zostal sciagniety ze strony BINBOY'a http://www.binboy.w.pl mail: karol@binboy.w http://binboy.koti.com.pl binboy@binboy.koti.com - 2-

Lekcja 1. Co o C i C++ każdy wiedzieć powinien. W trakcie tej lekcji dowiesz się, dlaczego pora na C++. Język C++ jest uniwersalnym, nowoczesnym językiem programowania. Stosowane przez USA i inne kraje wobec Polski wieloletnie embargo COCOM'u (przeszkody w dostępie do nowoczesnej technologii) sprawiły m. in., że popularność OS2, UNIXa i C/C++ jest w Polsce do dziś nieproporcjonalnie mała, a Basica, Pascala i DOSa nieproporcjonalnie duża. W USA C++ już od kilku lat stanowi podstawowe narzędzie programistów. Już słyszę oburzenie (A co mnie obchodzi historia "komputerologii" i koligacyjki!). Otóż obchodzi, bo wynikają z niej pewne "grzechy pierworodne" języka C/C++, a dla Ciebie, szanowny Czytelniku - pewne wnioski praktyczne. Grzech Pierwszy: * Kompilator języka C/C++ jest standardowym wyposażeniem systemu operacyjnego UNIX. Skutki praktyczne: Każdy PC jest w momencie zakupu (co często wchodzi w cenę zakupu komputera) wyposażany w system operacyjny DOS - np. DR DOS, PC DOS, PTS DOS lub MS DOS. Standardowo w zestaw systemu MS DOS wchodzi interpreter języka BASIC (w MS-DOS - QBasic.EXE). Możesz więc być pewien, że jeśli jest DOS, to musi być i BASIC. Podobnie rzecz ma się z C/C++. Jeśli jest na komputerze system UNIX (za wyjątkiem najuboższych wersji systemu XENIX), masz tam do dyspozycji kompilator C/C++, za to BASICA ani Pascala prawie na pewno tam nie ma. Podobnie coraz popularniejszy OS/2 wyposażony jest w kompilator (całkiem niezły) C++ i dodatkowo jeszcze w pewne gotowe-firmowe biblioteki. Grzech drugi: * Język C/C++ powstał jeszcze zanim wymyślono PC, DOS, GUI (Graficzny Interfejs Użytkownika), Windows i inne tym podobne. Dwa najważniejsze skutki praktyczne: I. W założeniach twórców język C++ miał być szybki (i jest) i zajmować mało miejsca w pamięci (bo ówczesne komputery miały jej bardzo mało!). Zawiera więc różne, niezrozumiałe dla nas z dzisiejszego punktu widzenia skróty. Np. to co w Pascalu czy Basicu wygląda zrozumiale: i:=i+1; (Pascal) 10 I=I+1 lub inaczej NEXT I (Basic) - 3-

to w języku C++ wygląda dziwacznie: i++; albo jeszcze dziwniej ++i; Tym niemniej zwróć uwagę, że w Pascalu zajmuje to 7 znaków, w Basicu - 8 znaków (spacja to też znak!), a w C++ tylko 4. Inny przykład: X=X+5 X:=X+5 X+=5 (Basic, 5 znaków), (Pascal, 6 znaków), (C++, tylko 4 znaki). Z takiej właśnie filozofii wynika i sama nazwa - najkrótsza z możliwych. Jeśli bowiem i++ miało znaczyć mniej więcej tyle samo co NEXT I (następne I) to C++ znaczy mniej więcej tyle samo co "NASTĘPNA WERSJA C". II. Nie ma nic za darmo. W języku C/C++, podobnie jak w samochodzie wyścigowym formuły I, za szybkość i skuteczność płaci się komfortem. Konstrukcje stosowane w języku C/C++ są maksymalnie dostosowane do "wygody" komputera. Pozwala to na uzyskiwanie niezwykle szybkich "maszynowo-zorientowanych" kodów wykonywalnych programu, ale od programisty wymaga przyzwyczajenia się do "komputerowo-zorientowanego sposobu myślenia". Grzech Trzeci (i chyba najcięższy): * Jest najlepszy. Ostrożniej - jest najchętniej stosowanym narzędziem profesjonalnych programistów. Ma oczywiście konkurentów. Visual Basic (do małych aplikacji okienkowych), Turbo Pascal (do nauki podstaw - elementów programowania sekwencyjnego, proceduralno-strukturalnego), QuickBasic (programowanie strukturalne w środowisku DOS), Fortran 90, ADA, SmallTalk, itp, itd. Sam wielki Peter Norton przyznaje, że początkowe wersje swojego słynnego pakietu Norton Utilities pisał w Pascalu, ale dopiero przesiadka na C/C++ pozwoliła mu doprowadzić NU do dzisiejszej doskonałości. Jakie są programy Petera Nortona - każdy widzi... Zapewne masz na swoim komputerze kilka różnych aplikacji (np. TAG, QR-Tekst, Word, itp.) - jeśli zajrzysz do nich do środka (View), możesz sam przekonać się, że większość z nich została napisana właśnie w C++ (Kompilatory C++ pozostawiają w kodzie wynikowym.exe swoją wizytówkę zwykle czytelną przy pomocy przeglądarki; przekonasz się o tym także zaglądając przez [View] do własnych programów); stosowane narzędzia możesz rozpoznać także po obecności dynamicznych bibliotek - np. BWCC.DLL - biblioteka elementów sterujących - klawiszy, itp - Borland Custom Controls for Windows). Skutki praktyczne: - 4-

Nauczywszy się języka C/C++ możesz nie bać się ani systemu UNIX/XENIX a ich środowiska okienkowego - X Windows, ani OS2, ani Windows 95 (dotychczasowe testy starych 16-bitowych aplikacji wykazały b. wysoki stopień kompatibilności), ani stacji roboczych, ani dużych komputerów klasy mainframe. Język C/C++ dosłużył się bowiem ogromnej ilości tzw. implementacji czyli swoich odmian, przeznaczonych dla różnych komputerów i dla różnych systemów operacyjnych. Windows NT i Windows 95 również zostały napisane w C++. Czytając prasę (np. Computer World, PC-Kurier i in.) zwróć uwagę, że najwięcej ofert pracy jest właśnie dla programistów posługujących się C++ (i tak zapewne będzie jeszcze przez kilka lat, póki nie wymyślą czegoś lepszego - np. jakiegoś C+++). Z Grzechu Trzeciego (choć nie tylko) wynika także pośrednio Grzech Czwarty. Języka C++ Grzech Czwarty - ANSI C, C++, czy Turbo C++, Visual C++, czyli mała wieża BABEL. Nie jestem pewien, czy "wieża BABEL" jest określeniem trafniejszym niż "kamień filozoficzny", bądź "perpetuum mobile". To co w ciągu ostatnich lat stało się z językiem C++ ma coś wspólnego z każdym z tych utopijnych symboli. A w dużym uproszczeniu było to tak. Podobnie, jak mechanikom od zarania dziejów marzyło się perpetuum mobile, tak informatykom zawsze marzyło się stworzenie jednego SUPER-UNIWERSALNEGO języka programowania. Takiego, który byłby zupełnie niezależny od sprzętu tzn., aby program napisany w takim języku mógł być przeniesiony BEZ ŻADNYCH ZMIAN na dowolny komputer I DZIAŁAŁ. Do takiej roli pretendowały kolejno FORTRAN, Algol a potem przyszła pora na C/C++. Gdyby informatycy nie okazali się zbyt zachłanni, może coś by z tego wyszło. Ale, jak to w życiu, programiści (podobnie jak żona rybaka z bajki "O rybaku i złotej rybce") chcieli wszystkiego naraz: * żeby program dał się przenieść na komputer innego typu i działał, * żeby działał szybko i optymalnie wykorzystywał sprzęt, * żeby umiał wszystko, co w informatyce tylko wymyślono (tj. i grafika, i obiekty, i obsługa peryferii i...). I stało się. W pomyślanym jako uniwersalny języku zaczęły powstawać odmiany, dialekty, mutacje, wersje itp. itd. Jeśli C++ nie jest Twoim pierwszym językiem, z pewnością zauważyłeś Czytelniku, że pomiędzy GW Basic a Quick Basic są pewne drobne różnice. Podobnie Turbo Pascal 7.0 trochę różni się od Turbo Pascala 5.0. Mimo to przykład poniżej pewnie Cię trochę zaskoczy. Dla zilustrowania skali problemu przedstawiam poniżej dwie wersje TEGO SAMEGO PROGRAMU napisanego w dwu różnych wersjach TEGO SAMEGO JĘZYKA C++.. Obydwa programy robią dokładnie to samo. Mają za zadanie wypisać na ekranie napis "Hello World" (czyli "Cześć świecie!"). - 5-

Program (1) main() printf("hello World\n"); Program (2) #include <windows.h> #include <iostream.h> LPSTR p = "Hello World\n"; main(void) cout << "Hello World" << endl; MessageBox(0, p, "Aplikacja dla Windows", MB_OK); return (0); Cóż za uderzające podobieństwo, prawda? Ale żarty na bok. Jeśli zaistnieje jakiś problem, zawsze mamy co najmniej trzy wyjścia. Możemy: 1. Udawać, że go nie ma. Tak postępuje wielu autorów podręczników na temat C/C++. 2. Krzyczeć, że nam się to nie podoba. Mamy pełne prawo obrazić się i wrócić do Basica lub Pascala. 3. Spróbować poruszać się w tym gąszczu. Wyjście trzecie ma jedną wadę - jest najtrudniejsze, ale i efekty takiego wyboru są najbardziej obiecujące. Jeśli chcesz zaryzykować i wybrać wyjście trzecie, spróbujmy zrobić pierwszy krok w tej "dżungli". Wyjaśnijmy kilka nazw, pojęć i zasad gry obowiązujących w tym obszarze. Języki programowania posługują się pewnymi specyficznymi grupami słów i symboli. Są to m. in.: * słowa kluczowe (tu pomiędzy wersjami C++ rozbieżności są niewielkie), * operatory (po prostu znaki operacji - np. +), (tu zgodność jest niemal 100 %-owa) * dyrektywy (polecenia dla kompilatora JAK tworzyć program wynikowy; tu już jest gorzej, szczególnie dyrektywa #pragma w każdej wersji kompilatora C++ jest inna) * nazwy funkcji (z tym gorzej, bo każdy producent ma własne funkcje i własne - 6-

upodobania) * nazwy stałych (gdyby chodziło tylko o PI i e - wszystko byłoby proste) * nazy zasobów (FILE, PRN, CONSOLE, SCREEN itp. itd) (tu jest lepiej, ale też rozbieżności są zauważalne) Autor programu może jeszcze nadawać zmiennym (liczbom, zmiennym napisom, obiektom, itp.) własne nazwy, więc czasem nawet wytrawny programista ma kłopoty ze zrozumieniem tekstu żródłowego programu... W języku C a następnie C++ przyjęto pewne maniery nadawania nazw - identyfikatorów ułatwiające rozpoznawanie tych grup słów: * nazwa() - funkcja * słowa kluczowe i nazwy zmiennych - małymi literami * STAŁE - nazwy stałych najczęściej dużymi literami * long/long - typy danych podstawowe/predefiniowane dla Windows _NAZWA - nazwy stałych predefiniowanych przez producenta nazwa lub nazwa - identyfikatory charakterystyczne dla danej wersji kompilatora itp., których to zwyczajów i ja postaram się przestrzegać w tekście książki. Amerykański Instytut Standardów ANSI od lat prowadzi walkę z wiatrakami. Stoi na straży jednolitego standardu języka, który nazywa się standardem ANSI C i ANSI C++. Wielcy producenci od czasu do czasu organizują konferencje i spotkania gdzieś w ciepłych krajach i uzgadniają niektóre standardy - czyli wspólne dla nich i zalecane dla innych normy, ale niektórzy bywają zazdrośni o własne tajemnice i nie publikują wszystkich informacji o swoich produktach. Dlatego wszelkie "słuszne i uniwersalne" standardy typu ODBC, Latin 2, Mazovia, LIM, OLE, DDE, BGI, itp., itd. mają niestety do dziś ograniczony zakres stosowalności a wszelkie zapewnienia producentów o całkowitej zgodności ich produktu z... (tu wpisać odpowiednie) należy niestety nadal traktować z pewną rezerwą. W niniejszej książce zajmiemy się kompilatorem Borland C++ w jego wersjach 3.0 do 4.5, jest to bowiem najpopularniejszy w Polsce kompilator języka C/C++ przeznaczony dla komputerów IBM PC. Nie bez znaczenia dla tej decyzji był także fakt, że Borland C++ i Turbo C++ bez konfliktów współpracuje z: * Turbo Pascal i Borland Pascal; * Assemblerami: TASM, BASM i MASM; * Turbo Debuggerem i Turbo Profilerem; * bibliotekami Turbo Vision, ObjectVision, Object Windows Library, Database Tools, itp. * pakietami innych producentów - np. Win/Sys Library, Object - 7-

Professional, CA-Visual Objects, Clipper, itp. i in. produktami "ze stajni" Borlanda popularnymi wśród programistów. Programy TASM/BASM, Debugger, Profiler a także niektóre biblioteki (np. Object Windows Library, Turbo Vision Library, itp. wchodzą w skład pakietów instalacyjnych BORLANDA, ale UWAGA - niestety nie wszystkich). Borland C++ 4+ pozwala, dzięki obecności specjalnych klas VBX w bibliotece klas i obiektów Object Windows Library na wykorzystanie programów i zasobów tworzonych w środowisku Visual Basic'a. Podobnie kompilatory C++ firmy Microsoft (szczególnie Visual C++) bezkonfliktowo współpracują z zasobami innych aplikacji - np. Access, Excel, itp.. Warto tu zwrócić uwagę na jeszcze jeden czynnik, który może stać się Twoim, Czytelniku atutem. Jeśli znasz już kompilatory Turbo Pascal, bądź Borland Pascal, zwróć uwagę, że wiele funkcji zaimplementowanych w Turbo Pascal 6.0. czy 7.0 ma swoje odpowiedniki w BORLAND C++ i Turbo C++. Odpowiedniki te zwykle działają dokładnie tak samo, a różnią się najczęściej nieznacznie pisownią nazwy funkcji. Wynika to z błogosławieństwa "lenistwa" (ponoć homo sapiens najwięcej wynalazków popełniał właśnie ze strachu, bądź z lenistwa...). Firmie Borland "nie chciało się" wymyślać od nowa tego, co już sprawdziło się wcześniej i do czego przyzwyczaili się klienci! I odwrotnie. Poznawszy Borland/Turbo C++ z łatwością zauważysz te same funkcje w Borland/Turbo Pascalu. [!!!]UWAGA! O Kompilatorach BORLAND C++ 4 i 4.5 napiszę nieco póżniej, ponieważ są bardziej skomplikowane i wymagają trochę większej znajomości zasad tworzenia i uruchamiania programów (projekty). To prawda, że zawierają narzędzia klasy CASE do automatycznego generowania aplikacji i jeszcze kilka innych ułatwień, ale miej trochę cierpliwości... [???] C.A.S.E. CASE - Computer Aided Software Engineering - inżynieria programowa wspomagana komputerowo. Najnowsze kompilatory C++ wyposażone są w narzędzia nowej generacji. W różnych wersjach nazywają się one AppExpert, ClassExpert, AppWizard, VBX Generator, itp. itd, które pozwalają w dużym stopniu zautomatyzować proces tworzenia aplikacji. Nie można jednak zaczynać kursu pilotażu od programowania autopilota - a kursu programowania od automatycznych generatorów aplikacji dla Windows... - 8-

Zaczynamy zatem od rzeczy najprostszych, mając jedynie tę krzepiącą świadomość, że gdy już przystąpimy do pisania aplikacji konkurencyjnej wobec Worda, QR-Tekst'a, czy Power Point'a - może nas wspomagać system wspomaganina CASE dołączony do najnowszych wersji BORLAND C++ 4 i 4.5. Jeśli mamy już gotowe aplikacje w Visual Basic'u - Borland C++ 4+ pozwoli nam skorzystać z elementów tych programów (ale pracować te aplikacje po przetransponowaniu do C++ będą od kilku do kilkuset razy szybciej). - 9-

LEKCJA 2. Jak korzystać z kompilatora BORLAND C++? W trakcie tej lekcji poznasz sposoby rozwiązania typowych problemów występujących przy uruchomieniu kompilatora Borland C++. UWAGA: Z A N I M rozpoczniesz pracę z dyskietką dołączoną do niniejszej książki radzimy Ci SPORZĄDZIĆ ZAPASOWĄ KOPIĘ DYSKIETKI przy pomocy rozkazu DISKCOPY, np. DISKCOPY A: A: lub DISKCOPY B: B: Unikniesz dzięki temu być może wielu kłopotów, których może Ci narobić np. przypadkowy wirus lub kropelka kawy. INSTALACJA DYSKIETKI. Na dyskietce dołączonej do niniejszej książki, którą najlepiej zainstalować na dysku stałym (z dyskiem pracuje się znacznie szybciej, a prócz tego jest tam znacznie więcej miejsca), w jej katalogu głównym znajduje się programik instalacyjny o nazwie: INSTALUJ.BAT napisany jako krótki plik wsadowy w języku BPL (Batch Programming Language - język programowania wsadowego). Aby zainstalować programy z dyskietki na własnym dysku powinieneś: * sprawdzić, czy na dysku (C:, D:, H: lub innym) jest co najmniej 2 MB wolnego miejsca, * włożyć dyskietkę do napędu i wydać rozkaz: <-- patrz tekst ksiazki * po naciśnięciu [Entera] rozpocznie się nstalacja. O zakończeniu instalacji zostaniesz poinformowany napisem na ekranie. UWAGI: * Jeśli korzystasz z napędu dyskietek B:, lub chcesz zainstalować programy z dyskietki na innym dysku niż C: - wystarczy napisać rozkaz - np. B:\INSTALUJ AMC48 D: i nacisnąć [Enter]. * Program instalacyjny zadziała poprawnie tylko wtedy, gdy masz system operacyjny DOS 6+ (6.0 lub nowszy) na dysku C: w katalogu C:\DOS. * Możesz zainstalować programy z dyskietki z poziomu środowiska Windows. W oknie Menedżera Programów: - rozwiń menu Plik - wybierz rozkaz Uruchom... - do okienka wpisz <-- patrz tekst książki - 10-

Program instalacyjny utworzy na wskazanym dysku katalog \C-BELFER i tam skopiuje całą zawartość dyskietki oraz dokona dekompresji (rozpakowania) plików. Jeśli chcesz skopiwać zawartość dyskietki do własnego katalogu roboczego, wystarczy "wskazać" programowi instalacyjnemu właściwy adres: <-- patrz tekst książki Zostanie utworzony katalog: F:\USERS\ADAM\TEKSTY\C-BELFER UWAGA: Prócz przykładów opisanych w książce dyskietka zawiera dodatkowo kilka przykładowych aplikacji, na które zabrakło miejsca, między innymi: WYBORY95 - prosta gra zręcznościowa (dla Windows) FOR*.CPP - przykłady zastosowania pętli BGI*.CPP - przykłady grafiki DOS/BGI oraz programik ułatwiający kurs - MEDYT.EXE wyposażony w dodatkowe pliki tekstowe. I. URUCHOMIENIE KOMPILATORA. Aby uruchomić kompilator, powinieneś w linii rozkazu po DOS'owskim znaku zachęty (zwykle C> lub C:\>) wydać polecenie: BC i nacisnąć [Enter]. (UWAGA: w różnych wersjach kompilatorów może to być np.: BC, TC, a dla Windows np. BCW - sprawdź swoją wersję) Jeśli Twój komputer odpowiedział na to: Bad command or file name * na Twoim komputerze nie ma kompilatora BORLAND C++: ROZWIĄZANIE: Zainstaluj C++. * w pliku AUTOEXEC.BAT nie ma ścieżki dostępu do katalogu, w którym zainstalowany jest kompilator C++. ROZWIĄZANIE: 1. Zmienić bieżący katalog (i ewentualnie dysk) na odpowiedni, np.: D:[Enter] CD D:\BORLANDC\BIN[Enter]. //UWAGA: Podkatalog \BIN Albo 2. Ustawić ścieżkę dostępu przy pomocy rozkazu np: PATH C:\BORLANDC\BIN (lub D:\TURBOC\BIN stosownie do rozmieszczenia plików na Twoim - 11-

komputerze; najlepiej zasięgnij rady lokalnego eksperta). [???] NIE CHCE USTAWIĆ ŚCIEŻKI? Tak czasem się zdarza - zwykle wtedy, gdy pracujesz w DOS-ie z programem Norton Commander. Musisz pozbyć się "na chwilę" programu NC. Naciśnij [F10] - Quit i potwierdź przez [Y] lub [Enter]. Po ustawieniu ścieżek możesz powtórnie uruchomić NC. Albo 3. Dodać do pliku AUTOEXEC.BAT dodatkową ścieżkę. Jest to wyjście najlepsze. Na końcu linii ustawiającej ścieżki - np.: PATH C:\; C:\DOS; C:\NC; C:\WINDOWS dodaj ścieżkę do kompilatora C++, np.: PATH C:\; C:\DOS; C:\NC; D:\BORLANDC\BIN; Załatwi to problem "raz na zawsze". Po uruchomieniu komputera ścieżka będzie odtąd zawsze ustawiana automatycznie. Ponieważ kompilator C++ wymaga w trakcie pracy otwierania i łączenia wielu plików, różne wersje (program instalacyjny INSTALL.EXE podaje tę informację w okienku pod koniec instalacji) wymagają dodania do pliku konfiguracyjnego CONFIG.SYS wiersza: FILES = 20 (dla różnych wersji wartość ta wacha się w granicach od 20 do 50). Najbezpieczniej, jeśli nie masz pewności dodać 50. Jeśli wybrałeś wariant trzeci i ewentualnie zmodyfikowałeś swój CONFIG.SYS, wykonaj przeładowanie systemu [Ctrl]-[Alt]-[Del]. Teraz możesz wydać rozkaz BC[Enter] Mam nadzieję, że tym razem się udało i oto jesteśmy w IDE Borland C++. Jeśli nie jesteś jedynym użytkownikiem, na ekranie rozwinie się cała kaskada okienek roboczych. Skonsultuj z właścicielem, które z nich można pozamykać a które pliki można skasować lub przenieść. Pamiętaj "primo non nocere" - przede wszystkim nie szkodzić! [S!] IDE = Integrated Development Environment, IDE, czyli Zintegrowane Środowisko Uruchomieniowe. Bardziej prozaicznie - połączony EDYTOR i KOMPILATOR. Zapewne znasz już coś podobnego z Pascala lub Quick Basica. Od dziś będzie to Twoje środowisko pracy, w którym będziesz pisać, uruchamiać i modyfikować swoje programy. [???] DISK FULL! - 12-

Co robić, jeśli przy próbie uruchomienia kompilator C++ odpowiedział Ci: Disk full! Not enough swap space. Program BC.EXE (TC.EXE) jest bardzo długi. Jeśli wydasz rozkaz (wariant 1: Turbo C++ 1.0, niżej BORLAND C++ 3.1): DIR TC.EXE uzyskasz odpowiedź, jak poniżej: C:>DIR TC.EXE Directory of D:\TC\BIN TC EXE 876480 05-04-90 1:00a 1 file(s) 876480 bytes 17658880 bytes free C:>DIR BC.EXE Directory of C:\BORLANDC\BIN BC EXE 1410992 06-10-92 3:10a 1 file(s) 1410992 bytes 18926976 bytes free Ponieważ plik kompilatora nie mieści się w 640 K pamięci musi dokonywać tzw. SWAPOWANIA i tworzy na dysku dodatkowy plik tymczasowy (ang. swap file). Na dysku roboczym powinno pozostawać najmniej 500 KB wolnego miejsca. Jeśli możesz, pozostaw na tym dysku wolne nie mniej niż 1 MB. Ułatwi to i przyspieszy pracę. Tworzony tymczasowo plik roboczy wygląda tak: Volume in drive D has no label Directory of D:\SIERRA TC000A SWP 262144 12-13-94 5:42p 1 file(s) 262144 bytes 11696320 bytes free (13-XII to dziś!) [!!!] UWAGA: Kompilator C++ będzie próbował tworzyć plik tymczasowy zawsze w bieżącym katalogu, tzn. tym, z którego wydałeś rozkaz TC lub BC. II. WNIOSKI PRAKTYCZNE. * Lepiej nie uruchamiać C++ "siedząc" na dyskietce, ponieważ może mu tam zabraknąć miejsca na plik tymczasowy. * Dla użytkowników Novella: Uruchamiajcie kompilator C++ tylko - 13-

we własnych katalogach - do innych możecie nie mieć praw zapisu. Plik.SWP jest tworzony tylko podczas sesji z kompilatorem C++ i usuwany natychmiast po jej zakończeniu. Możesz go zobaczyć tylko wychodząc "na chwilę" do systemu DOS przy pomocy rozkazu DOS Shell (menu File). [S!] SWAP - Zamiana. Jeśli wszystkie dane, potrzebne do pracy programu nie mieszczą się jednocześnie w pamięci operacyjnej komputera, to program - "właściciel", (lub system operacyjny - DOS, OS2, Windows) może dokonać tzw. SWAPOWANIA. Polega to na usunięciu z pamięci operacyjnej i zapisaniu na dysk zbędnej w tym momencie części danych, a na ich miejsce wpisaniu odczytanej z dysku innej części danych, zwykle takich, które są programowi pilnie potrzebne do pracy właśnie teraz. [Z] - Propozycje zadań do samodzielnego wykonania. ---------------------------------------------------------------- 1.1 Sprawdź ile bajtów ma plik.exe w tej wersji kompilatora C++, której używasz. 1.2. Posługując się rozkazem DOS Shell z menu File sprawdź gdzie znajduje się i jakiej jest wielkości plik tymczasowy.swp. Ile masz wolnego miejsca na dysku? EOF - 14-

LEKCJA 3. Główne menu i inne elementy IDE. W trakcie tej lekcji dowiesz się jak poruszać się w zintegrowanym środowisku (IDE) Turbo C++. Najważniejszą rzeczą w środowisku IDE jest GŁÓWNE MENU (ang. MENU BAR), czyli pasek, który widzisz w górnej części ekranu. Działa to podobnie, jak główne menu w programie Norton Commander (dostępne tam przez klawisz [F9]). KRÓTKI PRZEGLĄD GŁÓWNEGO MENU. Przyciśnij klawisz [F10]. Główne menu stało się aktywne. Teraz przy pomocy klawiszy kursora (ze strzałkami [<-], [->]) możesz poruszać się po menu i wybrać tę grupę poleceń, która jest Ci potrzebna. A oto nazwy poszczególnych grup: [S!] GRUPY POLECEŃ - NAZWY POSZCZEGÓLNYCH "ROZWIJANYCH" MENU. = Bez nazwy (menu systemowe). File Operacje na plikach. Edit Edycja plików z tekstami źródłowymi programów. Search Przeszukiwanie. Run Uruchomienie programu. Compile Kompilacja programu. Debug "Odpluskwianie", czyli wyszukiwanie błędów w programie. Project Tworzenie dużych, wielomodułowych programów. Options Opcje, warianty IDE i kompilatora. Window Okna (te na ekranie). Help Pomoc, niestety po angielsku. UWAGA: W niektórych wersjach kompilatora na pasku głównego menu pojawi się jeszcze Browse - przeglądanie (funkcji, struktury klas i obiektów). Zwróć uwagę, że w okienkowych wersjach niektóre rozkazy "zmieniają" menu i trafiają do Browse, Debug, Project. W BC++ 4 menu Run brak (!). Tworzenie aplikacji sprowadza się tam do następujących kroków: Project Open project lub AppExpert Debug Run ROZWIJAMY MENU. Z takiego kręcenia się w kółko po pasku (a propos, czy zauważyłeś, że pasek podświetlenia może być "przewijany w kółko"?) jeszcze niewiele wynika. Robimy więc następny krok. - 15-

Wskaż w menu głównym nazwę "File" i naciśnij [Enter]. Rozwinęło się menu File zawierające listę rozkazów dotyczących operacji na plikach. Po tym menu też możesz się poruszać przy pomocy klawiszy kursora ze strzałkami górę lub w dół. Masz do wyboru dwie grupy rozkazów rozdzielone poziomą linią: [S!] Open - Otwórz istniejący już plik z programem (np. w celu dopisania czegoś nowego). New Save - Utwórz nowy plik (zaczynamy tworzyć nowy program). - Zapisz bieżący program na dysk. Pamiętaj: Pliki z dysku nie znikają po wyłączeniu komputera. Zawsze lepiej mieć o jedną kopię za dużo niż o jedną za mało. oraz Print - Wydrukuj program. Get Info - Wyświetl informacje o stanie IDE. Dos Shell - Wyjście "na chwilę" do systemu DOS z możliwością powrotu do IDE przez rozkaz EXIT. Quit - Wyjście z IDE Turbo C++ i powrót do DOSa. Inaczej - KONIEC PRACY. Skoro już wiemy jak rozpocząć pracę nad nowym programem, zacznijmy przygotowanie do uruchomienia naszego pierwszego programu. Wybierz z menu File rozkaz Open... (otwórz plik). Ponieważ rozkaz taki jest niejednoznaczny, wymaga przed wykonaniem podania dodatkowych informacji. Gdyby Twój komputer mówił, zapytałby w tym momencie "który plik mam otworzyć?". Pytanie zadać musi, będzie więc prowadził dialog z Tobą przy pomocy OKIENEK DIALOGOWYCH. Jeśli wybrałeś z menu rozkaz OPEN i nacisnąłeś [Enter], to masz właśnie na ekranie takie okienko dialogowe. Okienko składa się z kilku charakterystycznych elementów: OKIENKO TEKSTOWE - (ang. Text Box lub Input Box) w którym możesz pisać (klawisz BackSpace [<-] pozwoli Ci skasować wprowadzony tekst, jeśli się rozmyślisz). Okienko to zawiera tekst "*.C". OKIENKO Z LISTĄ - (ang. List Box) zawiera listę plików, z której możesz wybrać plik z programem. KLAWISZE OPCJI/POLECEŃ - (ang. Command Button) kiedy już dokonasz wyboru, to możesz wskazując taki klawisz np. potwierdzić [OK], zrezygnować [Cancel], otworzyć plik [Open] itp.. Pomiędzy elementami okienka dialogowego możesz poruszać się przy pomocy klawiszy kursora i klawisza [Tab] lub kombinacji klawiszy - 16-

[Shift]-[Tab] (spróbuj!). Możesz także posługiwać się myszką. Więcej o okienkach i menu dowiesz się z następnych lekcji, a na razie wróćmy do naszego podstawowego zadania - tworzenia pierwszego programu. Zanim zaczniemy tworzyć program włóż do kieszeni napędu A: (lub B:) dyskietkę dołączoną do niniejszej książki. Może ona stać się Twoją dyskietką roboczą i pomocniczą zarazem na okres tego kursu. Jeżeli zainstalowałeś zawartość dyskietki na dysku - przejdź do stosownego katalogu - C:\C-BELFER (D:\C-BELFER) i odszukaj tam programy przykładowe. Jeśli nie - możesz nadal korzystać z dyskietki (jest na niej trochę miejsca). Wpisz do okienka tekstowego nazwę A:\PIERWSZY (lub odpowiednio np. C:\C-BELFER\PIERWSZY). Rozszerzeniem możesz się nie przejmować - zostanie nadane automatycznie. Plik roboczy z Twoim programem zostanie utworzony na dyskietce w napędzie A:. Wskaż klawisz [Open] w okienku dialogowym i naciśnij [Enter] na klawiaturze. UWAGA! _ Dopóki manipulujesz okienkiem tekstowym i okienkiem z listą klawisz polecenia [Open] jest wyróżniony (podświetlony) i traktowany jako tzw. OPCJA DOMYŚLNA (ang. default). W tym stadium aby wybrać [Open] WYSTARCZY NACISNĄĆ [Enter]. Wróciliśmy do IDE. zmieniło się tyle, że w nagłówku okna edytora zamiast napisu "NONAME00.CPP" (ang. no mame - bez nazwy) jest teraz nazwa Twojego programu - PIERWSZY.CPP. Kursor miga w lewym górnym rogu okna edytora. Możemy zaczynać. Pierwsze podejście do programu zrobimy trochę "intuicyjnie". Zamiast wyjaśniać wszystkie szczegóły posłużymy się analogią do konstrukcji w Pascalu i Basicu (zakładam, że napisałeś już choćby jeden program w którymś z tych języków). Szczegóły te wyjaśnię dokładniej począwszy od następnej lekcji. WPISUJEMY PROGRAM "PIERWSZY.CPP". Wpisz następujący tekst programu: /* Program przykładowy - [P-1] */ - 17-

#include <stdio.h> main() printf("autor:..."); /*tu wpisz imie Twoje!*/ printf(" TO JA, TWOJ PROGRAM - PIERWSZY.CPP"); printf("...achoj!!!"); I już. Jak widzisz nie jest to aż takie straszne. Gdyby nie to, że zamiast znajomego PRINT"TO JA...", albo writeln(".."); jest printf("...");, byłoby prawie całkiem zrozumiałe. Podobny program w Pascalu mógłby wyglądać np. tak: # include <stdio.h> uses Crt; main() /* początek */ program AHOJ; początek Begin printf("autor"); write('autor'); printf("to JA"); write('to JA'); printf("ahoj"); write('ahoj'); end. a w BASICU: 10 PRINT "Autor" : REM Początek 20 PRINT "TO JA" 30 PRINT "ahoj" 40 END [!!!]UWAGA Zwróć uwagę, że działanie funkcji: PRINT (Basic), printf() (C++), Write i Writeln (Pascal) nie jest identyczne, a TYLKO PODOBNE. Sprawdzimy, czy program działa. Tam, gdzie są kropki wpisz Twoje imię - np. Ewa, Marian, Marcin. Pamiętaj o postawieniu na końcu znaków cudzysłowu ("), zamknięciu nawiasu i średniku (;) na końcu linii (wiersza). Naciśnij kombinację klawiszy [Alt]-[R]. Jest to inny, niż opisano poprzednio sposób dostępu do menu. Kombinacja klawiszy [Alt]-[Litera] powoduje uaktywnienie tego menu, którego nazwa zaczyna się na podaną literę. Przy takiej konwencji litera nie musi być zawsze pierwszą literą nazwy opcji. Może to być także litera wyróżniona w nazwie przez podkreślenie lub wyświetlenie np. w innym kolorze. I tak: [Alt]+[F] menu File (Plik) [Alt]+[C] menu Compile (Kompilacja - 18-

[Alt]+[R] menu Run (Uruchamianie) [Alt]+[W] menu Window (Okna) itd., itd.. Kombinacja [Alt]+[R] wybiera więc menu Run (uruchomienie programu). Menu Run daje Ci do wyboru następujące polecenia: [S!] Run - Uruchomienie programu (Utwórz plik.exe i Wykonaj). Program Reset - "Wyzerowanie" zmiennych programu. Go to Cursor - Wykonanie programu do miejsca wskazanego kursorem w tekście. Trace Into - Uruchom śledzenie programu. Step Over - Śledzenie programu z możliwością pominięcia funkcji. (dosł. tzw. "Przekraczanie" funkcji). Arguments - Uruchom program z zadanymi argumentami. Wybierz "Run". Jeśli nie zrobiłeś żadnego błędu, program powinien się skompilować z komentarzem "Success" i wykonać (kompilacja zakończona sukcesem; napis mignie tak szybko, że możesz tego nie zauważyć). Jeśli chcesz spokojnie obejrzeć wyniki działania swojego programu powinieneś wykonać następujące czynności: 1. Rozwiń menu Window naciskając klawisze [Alt]-[W]. 2. Wybierz z menu rozkaz User screen (ekran użytkownika). Możesz wykonać to samo bez rozwijania menu naciskając kombinację klawiszy [Alt]-[F5]. 3. Po przejrzeniu wydruku naciśnij [Enter]. Wrócisz do okna edytora. Jeśli zrobiłeś błędy - kompilacja się nie uda i program nie zostanie wykonany, w okienku natomiast pojawi się napis "Errors" (czyli "Błędy"). Jeśli tak się stało naciśnij [Enter] dwukrotnie. Popraw ewentualne niezgodności i spróbuj jeszcze raz. Błędów zwykle bywa nie więcej niż dwa. Najczęściej jest to brak lub przekłamanie którejś litery (w słowie main lub printf) i brak średnika na końcu linii. W okienku komunikatów (Message) mogą pojawić się napisy - np.: Error: Statement missing ; (Błąd: Zgubiony znak ;) [S] Error Messages - Komunikaty o błędach. Najczęściej w komunikatach o błędach będą na początku pojawiać się następujące słowa: - 19-

Error - błąd Warning - ostrzeżenie Syntax - składnia (składniowy) Expression - wyrażenie never used - nie użyte (nie zastosowane) assign - przypisywać, nadawać wartość/znaczenie value - wartość statement - operator, operacja, wyrażenie [???] Co z tym średnikiem? Zwróć uwagę, że po pdświetleniu komunikatu o błędzie (pasek wyróżnienia podświetlenia możesz przesuwać po liście przy pomocy klawiszy ze strzałkami w górę i w dół) i po naciśnięciu [Entera] kompilator pokaże ten wiersz programu, w którym jego zdaniem jest coś nie w porządku. Brak średnika zauważa zwykle dopiero po przejściu do następnego wiersza (i tenże wiersz pokaże), co bywa na początku trochę mylące. [???] CZEGO ON JESZCZE CHCE? Nawet po usunięciu wszystkich błędów C++ nie "uspokoi się" całkiem i będzie wyświetlał ciągle komunikat ostrzegawczy: * w OKIENKU KOMPILACJI: (bardzo typowa sytuacja) Errors: 0 (Błędy: 0) Warnings: 1 (Ostrzeżenia: 1) * W OKIENKU KOMUNIKATÓW - (Messages - tym w dolnej części ekranu): *WARNING A:\PIERWSZY.C 4: Function should return a value in function main (Uwaga: Funkcja main powinna zwrócić wartość.) Na razie zadowolimy się spostrzeżeniem, że: * Błędy UNIEMOŻLIWIAJĄ KOMPILACJĘ i powodują komunikat ERRORS. * Ostrzeżenia NIE WSTRZYMUJĄ KOMPILACJI i powodują komunikat WARNINGS. Jaki jest sens powyższego ostrzeżenia i jak go uniknąć dowiesz się z następnych lekcji. Pozostaje nam w ramach tej lekcji: * Zapisać Twój pierwszy program na dysku i * Wyjść z IDE C++. - 20-