Nadszedł czas na program, który w końcu coś zrobi.Weźmy poprzedni program i wstawmy na początku i między linie drugą i trzecią, nowe linie kodu:
#include <iostream>
using namespace std;
int main(void)
{
cout<<„To ja twoj komputer. Mowie do Ciebie.”;
int main(void)
{
cout<<„To ja twoj komputer. Mowie do Ciebie.”;
system(”PAUSE”);
return 0;
}
return 0;
}
Otrzymany program , który wyświetla na ekranie napis:
To ja twoj komputer. Mowie do Ciebie.
Najpierw opiszę pierwszą linię kodu. Słowo #include mówi kompilatorowi jaką bibliotekę ma dołączyć do programu, jest to tzw. dyrektywa preprocesora.
Dyrektywa preprocesora to specjalne instrukcje, które nie są wykonywane przez komputer, ale stanowią informacje o sposobie postępowania dla preprocesora, czyli specjalnego programu uruchamianego przed kompilatorem. Działanie tego programu polega na przygotowaniu kodu programu tak, aby zawierał on wszystko, co potrzebne kompilatorowi (dołącza pliki informujące o bibliotekach, zamienia pewne słowa na inne itp.).
Biblioteka to zbiór zawierający wiedzę dla komputera, czyli instrukcje pozwalające komputerowi wykonywać zadania z określonego działu problemów. Tak naprawdę kompilator po prostu przepisuje zawartość całego pliku biblioteki do kodu programu. Nazwa biblioteki może być ujęta w „ostre” nawiasy <nazwa> lub cudzysłowy „nazwa” i zawiera nazwę pliku zawierającego bibliotekę. Różnica między tymi dwoma sposobami zapisu polega na tym, że w przypadku zapisu <nazwa> kompilator szuka biblioteki tylko w katalogu standardowym, a w przypadku „nazwa” można podać ścieżkę dostępu do katalogu zawierającego ten plik np.
#include „c:\katalog\nazwa”
Za pomocą słów kluczowych using namespace informujemy kompilator, że chcemy aby wszystkie funkcje, klasy i szablony należące do przestrzeni nazw nie wymagały przedrostka. Wyraz występujący po dwóch słowach kluczowych jest istniejącą nazwą przestrzeni. Dla standardowych bibliotek C++ jest to std.
Czym są strumienie? Strumienie występujące w programowaniu, jak nazwa wskazuje, mają coś wspólnego z prawdziwymi strumieniami, z tym tylko, że służą do przenoszenia danych pomiędzy programem a komputerem. Aby móc użyć takiego strumienia należy wskazać kierunek, w którym on płynie. Służą do tego symbole kierunku << i >>. Teraz wystarczy napisać
cout<<”Tekst.”;
aby napis „Tekst” został przez strumień przeniesiony do instrukcji cout, która wysyła go na ekran.
Należy pamiętać aby po każdej instrukcji znajdującej się między nawiasami klamrowymi umieścić średnik ; , który oznacza koniec pojedynczej instrukcji. Bez tego program nie wiedziałby gdzie kończy się, a gdzie zaczyna każda instrukcja.
Dosyć prosta modyfikacja programu, pozwala na wyświetlenie tekstu na ekranie w dwóch linijkach. Od tego momentu, do rozdzielenia kodu programu i wyniku jego działania, będę używał odpowiednio słów: kod i wynik.
Kod:
#include <iostream>
using namespace std;
int main(void)
{
cout<<„To ja twoj komputer.\n Mowie do Ciebie.”;
int main(void)
{
cout<<„To ja twoj komputer.\n Mowie do Ciebie.”;
system(“PAUSE”);
return 0;
}
}
Wynik:
To ja twój komputer.
Mówię do ciebie.
Jedyna modyfikacja w tym przypadku to symbol \n. Symbol ten oznacza przejście do następnej linii i jest stosowany jeżeli chcemy zakończyć dany wiersz na ekranie. Możemy napisać:
cout<<„\n”;
co spowoduje, że program nic nie wyświetli tylko przejdzie do następnej linii. Oprócz tego stosowane są też inne symbole specjalne np.
\r - rzesunięcie do początku wiersza(kursor wraca na początek linii, w której się znajduje)
\a - z głośniczka wbudowanego w komputer wydobędzie się krótki sygnał dźwiękowy, który można wykorzystać np. do sygnalizacji błędów
\\ - Wyświetla znak backslash \
\? - Wyświetla znak zapytania ?
\' - Wyświetla apostrof ’
\" - Wyświetla podwójny cudzysłów ”
Nie są to wszystkie symbole specjalne, ale te wystarczą nam w dalszej pracy. Ostatnie cztery symbole wymagają dodatkowego wyjaśnienia. Otóż w C++ istnieją zarezerwowane symbole, które nie mogą być wyświetlone w sposób standardowy, dlatego stosuje się przed nimi symbol \ co pozwala na użycie ich w programie np. gdybyśmy chcieli wyświetlić \? , to musimy napisać \\\?. Dla ilustracji tego napiszemy prosty program.
Kod:
#include <iostream>
using namespace std;
int main(void)
{
{
cout<<"\\ \? \' \" \a \n";//wyświetla kolejno \ ? ‘ „ następnie sygnał dźwiękowy i przejście do następnej linii
cout<<"Wyswietlam tekst i wracam na poczatek lini.\r";//wyświetla tekst i ustawia kursor na początku linii
system(„PAUSE”);
return 0;
}
}
Taki sam efekt jak \n daje zastosowanie manipulatora endl, który steruje strumieniem.
#include <iostream>
using namespace std;
int main(void)
{
cout<<„To ja twoj komputer.”<<endl<<” Mowie do ciebie.”;
int main(void)
{
cout<<„To ja twoj komputer.”<<endl<<” Mowie do ciebie.”;
system(„PAUSE”);
return 0;
}
}
Napisz program wyświetlający na ekranie monitora:
\?”Witam tu twój komputer!!!”?\
a następnie odtwarzający przez głośniczek komputera sygnał dźwiękowy.
\?”Witam tu twój komputer!!!”?\
a następnie odtwarzający przez głośniczek komputera sygnał dźwiękowy.