PO2024: tworzenie nowego programu

W pracowniach komputerowych na stanowiskach zainstalowany jest Visual Studio Enterprise 2017. Jest to starsza, ale nadal wspierana wersja środowiska programistycznego. Wersje instalacyjne starszych wersji są do pobrania tutaj: https://visualstudio.microsoft.com/pl/vs/older-downloads/

Pobranie wymaga zalogowania się.

Kody programów napisanych w nowszej, np. aktualnej wersji środowiska kompilują się w Visual Studio Enterprise 2017, jeżeli nie korzystają z konstrukcji języka C++ nie obsługiwanych przez VS2017. Przy czym program zajęć lab. nie przewiduje korzystania z takich konstrukcji składniowych.

Aby rozpocząć pisanie programu należy uruchomić środowisko VS i utworzyć nowy projekt. Poniżej są opisane dwie możliwości postępowania – do wyboru.

Postępowanie #1:
Nowy projekt typu „Pusty projekt”

Pusty projekt

Zostanie utworzony projekt nie zawierający żadnych plików:

Pusty projekt

1.1 Do tak utworzonego projektu możemy dodać pierwszy plik, w którym zamierzamy umieścić kod naszego programu. Można to zrobić klikając prawym klawiszem myszki na „Pliki źródłowe” w okienku prezentującym projekt, a następnie „Dodaj” i „nowy element”:

Dodaj nowy element

W otwartym oknie należy wybrać „Plik C++”. Utworzony zostanie plik z rozszerzeniem 'cpp’, który będzie traktowany przez kompilator jako plik zawierający kod napisany w C++.

1.2. Jeżeli mamy już wcześniej przygotowany plik z kodem źródłowym, np. z rozwiązaniem Wejściówki, albo utworzyliśmy w innym edytorze (lub ręcznie) plik z rozszerzeniem 'c’ lub 'cpp’, i chcemy go dołączyć do tak utworzonego projektu, należy kliknąć prawym klawiszem myszki na „Pliki źródłowe” w okienku prezentującym projekt, a następnie „Dodaj” i „istniejący element”, po czym znaleźć właściwy plik i wskazać go do dołączenia do projektu:

Dodaj istniejący element

Dobrze jest wcześniej, tzn. przed dołączeniem, umieścić już przygotowany plik we właściwym folderze. To ułatwi jego dołączenie do projektu. Aby szybko znaleźć ten folder, należy kliknąć prawym klawiszem myszki na nazwę projektu w okienku prezentującym projekt (np. na „Project1”) i wybrać opcję „Otwórz folder w eksploratorze plików”:

Folder projektu

Zostanie otwarte okno Eksploratora plików prezentujące folder, gdzie powinien trafić plik.

Postępowanie #2:
Nowy projekt typu „Aplikacja konsolowa systemu Windows”

Aplikacja konsolowa

Wybierając tę opcję, zostanie utworzony projekt zawierający cztery pliki:

Projekt aplikacja konsolowa

W załączonym przykładzie miejscem, gdzie należy pisać kod programu, jest plik „ConsoleApplication1.cpp”. Do projektu należy też plik „stdafx.h”. Jest to tzw. wstępnie skompilowany plik nagłówkowy. To niestandardowa, autorska konstrukcja Microsoftu, której celem jest przyspieszenie procesu kompilacji dużych projektów. Do tej konstrukcji należą też pliki „stdafx.cpp” i „targetver.h”.

Po podwójnym kliknięciu na „ConsoleApplication1.cpp” zostanie otwarte okno z prostym programem:

Kod programu

Linijki zawierającej dyrektywę #include "stdafx.h" nie należy usuwać. Microsoft rekomenduje, aby dyrektywy dołączenia niezbędnych standardowych bibliotek, np. #include "stdlib.h", umieścić w pliku stdafx.h w miejscu poniżej już istniejących dyrektyw #include. Natomiast dyrektywy dołączenia niezbędnych bibliotek własnych można umieścić w „ConsoleApplication1.cpp” poniżej dyrektywy #include "stdafx.h".

Jeżeli chcemy do tak utworzonego pliku wkleić kod z pliku Wejściówki, który został napisany bez korzystania z dyrektywy #include "stdafx.h", należy ten kod w całości wkleić poniżej tej dyrektywy, zastępując nim treść wygenerowaną automatycznie przez VS. Po wklejeniu nie należy edytować dyrektywy #include "stdafx.h", ani niczego przed nią dopisywać (powinna pozostać jako pierwsza linijka programu).

Jeżeli plik zawierający kod Wejściówki został utworzony w projekcie typu „Aplikacja konsolowa Windows”, należy ten plik dołączyć do sekcji „pliki źródłowe” w projekcie bez wprowadzania w nim żadnych zmian oraz usunąć z tej sekcji automatycznie tworzony plik „ConsoleApplication1.cpp”.

Hint: dobrym pomysłem jest unikanie mieszania typów projektów, tj. np. jeżeli Wejściówka została utworzona, napisana i przetestowana w projekcie typu „Aplikacja konsolowa Windows”, to projekt takiego samego typu należy utworzyć w pracowni, żeby ją zaprezentować.

Na koniec – co zrobić, żeby okno konsoli nie zamykało się po wykonaniu naszego programu?

Postępowanie #1:

W Solution Explorer kliknąć prawym klawiszem myszy na nazwę projektu (nie przestrzeni roboczej). Potem wybrać Properties (Właściwości). Pojawi się okno, w którym po lewej stronie trzeba kolejno rozwinąć Configuration Properties->Linker->System (Właściwości konfiguracji->Konsolidator->System), a potem z prawej strony kliknąć na pole SubSystem (Podsystem). Pojawi się wówczas rozwijana lista, z której wybieramy Console (/SUBSYSTEM:CONSOLE).

Postępowanie #2:

Na końcu funkcji main, w linijce tuż przed poleceniem return dopisać instrukcję:

system("pause");

i dołączyć bibliotekę stdlib.h .

Możliwość komentowania jest wyłączona.