Skyy
Active User
- Joined
- Jul 22, 2012
- Messages
- 52
- Reaction score
- 11
Cze??!
Z tej strony Seba, ju? w drugiej cz??ci mojego poradnika. M?wi?em, ?e wyjdzie jeszcze dzisiaj ^.^
Dzisiaj napiszemy sw?j pierwszy kod w C++! Przedstawi? podstawowe tajniki tego j?zyka i om?wi? temat komunikacji pomi?dzy u?ytkownikiem a programem. Nauczymy si? te? 'tandetnego programowania' i poznamy struktur? dobrego kodu.
Zaczniemy mo?e od ustawienia programu, co? A wi?c tak, je?li ?ci?gn??e? code::blocks a nie visual c++ to mo?esz omin?? ten dzia?, albo z grubsza przeczyta? i spr?bowa? ustawi? te same ustawienia w Twoim programie (opcje mog? si? r??ni?).
Gdy ju? otworzymy nasz ukochany kompilator, powinni?my zobaczy? takie okno:
Aby rozpocz?? prac? musimy stworzy? nowe projekt. Klikamy zatem na napis 'new project'. Otworzy nam si? takie okno:
Wybieramy z listy 'win32 Console Application' i wpisujemy nazw? poni?ej.
Pojawi nam si? nast?pne okno w kt?rym klikamy next.
Zaznaczamy wszystko w ten spos?b:
i klikamy finish.
Pojawi nam si? nowe okno, na szcz??cie ju? z gotowego kompilatora. Niestety to jeszcze nie koniec ustawiania, musimy zrobi? jeszcze jedn? rzecz.
Klikamy w przycisk pokazany (zaznaczony zosta? czerwonym prostok?tem) na screenie:
w okienku kt?re si? pojawi zaznacz po prostu C++ File (.cpp) i wpisz nazw? 'main'.
B?dziemy w tym pliku pisa? nasz program. Powinien si? otworzy? automatycznie.
Teraz gdy ju? wszystko jest gotowe, skopiuj ten tekst do kompilatora:
Na razie niewa?ne, ?e nie wiesz o co w nim chodzi, to tylko test kompilatora. Kliknij F7/Debug -> Build Solution aby zbudowa? plik.
Je?eli wszystko dobrze posz?o to w okienku poni?ej powinno by? napisane:
Zacny, co?
Dlaczego b?dziemy tworzy? na razie tylko programy konsolowe?
Jak widzicie, nasz program to jedynie okienko z czarnym t?em i napisem. To si? nazywa aplikacja konsolowa. Normalne programy maj? ?adne okna, fajne kolory itp. - pomimo faktu, ?e ich tworzenie wygl?da podobnie, struktury programu mog? si? r??ni?, a aplikacje konsolowe s? doskona?ym rozwi?zaniem dla pocz?tkuj?cego programisty.
To chyba na tyle na wst?pie. Przejd?my zatem do g??wnego dzia?u.
Na tym do?? idiotycznym przyk?adzie, pokaza?em jak funkcjonuj? niekt?re kody. Nawet zawodowi programi?ci przed napisaniem programu tworz? takie cacka, wi?c si? lepiej przyzwyczajcie bo u?atwia to niezmiernie prace.
A teraz spr?buj sam napisa? kod na np. w??czanie ?wiat?a.
Rzecz jasna taki pseudo kod nie zadzia?a w kompilatorze ale dzi?ki niemu mo?na rozplanowa? sw?j przysz?y program.
Czym s? funkcje?
Funkcje to cz??ci kodu kt?re zostaj? wykonywane. Mo?na powiedzie?, ?e 'm?wi?' one programowi co ma zrobi?. Dana cz??? kodu, czyli funkcja, np. ta:
Sygnalizuje programowi, ?eby wy?wietli? si? tekst 'pisanie funkcji'. Na samej g?rze mamy nazw? tej funkcji (PokazTenTekst), typ funkcji (void) i puste nawiasy w kt?rych mo?emy umieszcza? parametry. Ca?y kod powy?ej jest jedn? funkcj? - w ca?ym programie takich mo?e by? naprawd? bardzo du?o.
Zdaj? sobie spraw?, ?e mo?e to na razie nie by? jasne, chcia?em tylko rozja?ni? Wam troszeczk? poj?cie 'funkcja' kt?re samo w sobie jest o wiele obszerniejsze ni? opisa?em.
Czym s? algorytmy i dane?
Dane to po prostu informacje kt?re s? potrzebne do wykonania danej funkcji, np. imi?, nazwisko i wiek, je?li chcemy stworzy? program kt?ry b?dzie nam podawa? w?a?nie takie informacje. Algorytm za? jest instrukcj? kt?ra m?wi programowi co ma zrobi?.
?eby pro?ciej to by?o zrozumie?, zdj?cie poni?ej powinno rozwia? w?tpliwo?ci:
Teraz przejd?my do praktyki.
Pierwszy prawdziwy kod
Dobra, to teraz przyszed? czas aby napisa? pierwszy 'prawdziwy' kod kt?ry uruchomimy w kompilatorze.
Wyt?umacz? program kt?ry napisali?my wcze?niej:
Pierwszy wers:
Gdy wpiszemy do kompilatora znaki '//', damy mu zna?, ?e nast?pny akapit b?dzie komentarzem i zostanie zignorowany podczas dzia?ania programu. Mo?na je umieszcza? wsz?dzie. S? pomocne, ?eby obja?ni? dzia?anie niekt?rych funkcji gdy np. pokazujemy kod w internecie. S?owa kt?re zostan? zignorowane to te kt?re znajd? si? po nim i b?d? w tym samym akapicie. Nie mo?emy tego u?o?y? np. tak:
lub w ten spos?b:
Wtedy kompilator zwr?ci nam b??d w outpucie (okienko ni?ej).
Drugi i trzeci wers:
Za???my, ?e instalujemy gr?. Gdy instalujemy jak?kolwiek gr? potrzebny nam jest program DirectX, prawda? Wi?kszo?? gier korzysta z tej biblioteki dlatego te? musi on by? zainstalowany na komputerze aby gra normalnie dzia?a?a.
Nasz program potrzebuje pewnych mechanizm?w do jej obs?ugi - nimi s? w?a?nie pliki nag??wkowe conio.h i iostream.
Plik?w nag??wkowych jest du?o, musimy dostosowa? je do naszych program?w. Gdy robimy co innego, potrzebujemy innych. To tak jak cho?by bieganie i boksowanie. Do biegania potrzebujemy n?g a do boksowania r?k. Proste, nie? :O
Trzeci wers:
Za ka?dym razem gdy odpalamy nasz programik, wszystko co zawarte b?dzie w tej funkcji zostanie wykonane. Jest to zawsze najwa?niejsza funkcja w ca?ym programie. Tutaj wszystko si? zaczyna i wszystko si? ko?czy. Program konsolowy to przede wszystkim ta funkcja i w wi?kszo?ci z nich jest te? jedyn?.
Najwa?niejszy jest jednak nag??wek 'void'.
Sygnalizuje on kompilatorowi, ?e nie b?dzie zwracana ?adna warto?? podczas dzia?ania programu. Niekt?re programy gdy np. nie powiod? si?, zwracaj? komunikat, ?e 'co? nie wysz?o'. Nam to jest jednak?e zupe?nie nie potrzebne, gdy? nie piszemy na razie ?adnych trudniejszych program?w.
Wers czwarty i si?dmy:
Klamry kt?re widzisz, otwieraj? i zamykaj? funkcj?. Pomi?dzy nimi zawarty jest blok kodu.
Przyj??o si? ju?, ?e blok kodu musi zawiera? tabulacj?, czyli 'spacj?' pomi?dzy lewym bokiem okna a tekstem.
Wygl?da to mniej-wi?cej tak... Kod bez tabulacji:
Kod z tabulacj?:
Tabulacj? dodajemy za pomoc? klawisza 'tab'.
Pi?ty wers:
std::cout jest strumieniem wyj?cia. S?u?y on do wy?wietlania przez program wszystkiego co zostanie do niego wys?ane. B?dziemy u?ywa? strumienia wyj?cia bardzo cz?sto.
Wysy?anie tekstu jest w sumie bardzo intuicyjne.
Najpierw mamy:
to jest w?a?nie strumie? wyj?cia.
Nast?pnie mamy:
Mo?na sobie wyobrazi?, ?e te strza?ki to droga kt?r? leci komunikat do strumienia wyj?cia, tak aby by? on wy?wietlony. Kieruj? one nasz tekst.
Nast?pnym elementem jest:
Ten tekst sygnalizuje po prostu naszemu kompilatorowi, ?e to ju? koniec wersu i, ?eby przeszed? do nast?pnego. Gdy wy?wietlamy tylko jedn? linijk?, w sumie nie potrzeba tego umieszcza? ale w wi?kszych programach std::endl; zamienia si? w element niezb?dny.
Sz?sty wers:
Przebrn?li?my ca?kiem szybko przez nasz pierwszy program. Mam nadziej?, ?e dzi?ki mnie ju? rozumiecie z czego si? on sk?ada. Chcia?bym jednak?e te? wyt?umaczy? czym jest "std". Jest to przestrze? nazw, czyli nic innego jak zbi?r symboli kt?rym dajemy nazw?. Te dwa kt?re u?yli?my nale?? do standardowej biblioteki j?zyka C++.
Jak wygl?da wi?kszo?? program?w?
Wi?kszo?? z program?w pisanych przez programist?w wygl?da tak:
Gdy odpalimy program oka?e si?, ?e zmieni? si? jedynie komunikat, nic innego. Ale jak to dzia?a?
Ot?? tak jak wcze?niej m?wi?em - funkcja main() jest zawsze najwa?niejsza i jest wykonywana pierwsza. Najpierw program analizuje co robi funkcja Tekst() i przechodzi do main(). W main() umie?cili?my te? nast?puj?c? linijk?:
Poradnik wykonany dla tibia.net.pl, zastrzegam sobie do niego jakiekolwiek prawa.
Cze??!
Z tej strony Seba, ju? w drugiej cz??ci mojego poradnika. M?wi?em, ?e wyjdzie jeszcze dzisiaj ^.^
Dzisiaj napiszemy sw?j pierwszy kod w C++! Przedstawi? podstawowe tajniki tego j?zyka i om?wi? temat komunikacji pomi?dzy u?ytkownikiem a programem. Nauczymy si? te? 'tandetnego programowania' i poznamy struktur? dobrego kodu.
Zaczniemy mo?e od ustawienia programu, co? A wi?c tak, je?li ?ci?gn??e? code::blocks a nie visual c++ to mo?esz omin?? ten dzia?, albo z grubsza przeczyta? i spr?bowa? ustawi? te same ustawienia w Twoim programie (opcje mog? si? r??ni?).
Gdy ju? otworzymy nasz ukochany kompilator, powinni?my zobaczy? takie okno:
Aby rozpocz?? prac? musimy stworzy? nowe projekt. Klikamy zatem na napis 'new project'. Otworzy nam si? takie okno:
Wybieramy z listy 'win32 Console Application' i wpisujemy nazw? poni?ej.
Pojawi nam si? nast?pne okno w kt?rym klikamy next.
Zaznaczamy wszystko w ten spos?b:
i klikamy finish.
Pojawi nam si? nowe okno, na szcz??cie ju? z gotowego kompilatora. Niestety to jeszcze nie koniec ustawiania, musimy zrobi? jeszcze jedn? rzecz.
Klikamy w przycisk pokazany (zaznaczony zosta? czerwonym prostok?tem) na screenie:
w okienku kt?re si? pojawi zaznacz po prostu C++ File (.cpp) i wpisz nazw? 'main'.
B?dziemy w tym pliku pisa? nasz program. Powinien si? otworzy? automatycznie.
Teraz gdy ju? wszystko jest gotowe, skopiuj ten tekst do kompilatora:
Code:
// moj pierwszy niebianski kod, jestem wniebowziety!
#include <iostream>
#include <conio.h>
void main()
{
std::cout << "witaj, z tej strony program!" << std::endl;
getch();
}
Je?eli wszystko dobrze posz?o to w okienku poni?ej powinno by? napisane:
Teraz klikamy F5/Debug -> Start Debugging, ?eby zobaczy? nasz program ; ). B?dzie on wygl?da? w ten spos?b:1>------ Build started: Project: poradnik1, Configuration: Debug Win32 ------
1> main.cpp
1>c:\users\franc\desktop\filmiki\poradnik1\poradnik1\main.cpp(7): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128) : see declaration of 'getch'
1> poradnik1.vcxproj -> C:\Users\Franc\Desktop\filmiki\poradnik1\Debug\poradnik1.exe
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Zacny, co?
Dlaczego b?dziemy tworzy? na razie tylko programy konsolowe?
Jak widzicie, nasz program to jedynie okienko z czarnym t?em i napisem. To si? nazywa aplikacja konsolowa. Normalne programy maj? ?adne okna, fajne kolory itp. - pomimo faktu, ?e ich tworzenie wygl?da podobnie, struktury programu mog? si? r??ni?, a aplikacje konsolowe s? doskona?ym rozwi?zaniem dla pocz?tkuj?cego programisty.
To chyba na tyle na wst?pie. Przejd?my zatem do g??wnego dzia?u.
Pierwszy Kod
Zanim napiszemy pierwszy kod, chcia?bym ?eby? pozna? struktur? programu. Napiszemy zatem tandetni program, jak ja to od ju? dobrego dawna nazywam. Wygl?da to nast?puj?co:JE?LI mi?o?? = dwie osoby TO
Funkcja << ?lub <<
JE?LI ma??onka = dziewica TO
Funkcja << dziecko <<
JE?ELI NIE TO
Funkcja << wsp???ycie bez ryzyka <<
Powr?t
Koniec Algorytmu
Na tym do?? idiotycznym przyk?adzie, pokaza?em jak funkcjonuj? niekt?re kody. Nawet zawodowi programi?ci przed napisaniem programu tworz? takie cacka, wi?c si? lepiej przyzwyczajcie bo u?atwia to niezmiernie prace.
A teraz spr?buj sam napisa? kod na np. w??czanie ?wiat?a.
Rzecz jasna taki pseudo kod nie zadzia?a w kompilatorze ale dzi?ki niemu mo?na rozplanowa? sw?j przysz?y program.
Nowe s?owa
Wyt?umacz? Wam teraz czym s? dane, algorytmy i funkcje.Czym s? funkcje?
Funkcje to cz??ci kodu kt?re zostaj? wykonywane. Mo?na powiedzie?, ?e 'm?wi?' one programowi co ma zrobi?. Dana cz??? kodu, czyli funkcja, np. ta:
Code:
void PokazTenTekst()
{
std::cout << "Pisanie funkcji!" << std::endl;
}
Zdaj? sobie spraw?, ?e mo?e to na razie nie by? jasne, chcia?em tylko rozja?ni? Wam troszeczk? poj?cie 'funkcja' kt?re samo w sobie jest o wiele obszerniejsze ni? opisa?em.
Czym s? algorytmy i dane?
Dane to po prostu informacje kt?re s? potrzebne do wykonania danej funkcji, np. imi?, nazwisko i wiek, je?li chcemy stworzy? program kt?ry b?dzie nam podawa? w?a?nie takie informacje. Algorytm za? jest instrukcj? kt?ra m?wi programowi co ma zrobi?.
?eby pro?ciej to by?o zrozumie?, zdj?cie poni?ej powinno rozwia? w?tpliwo?ci:
Teraz przejd?my do praktyki.
Pierwszy prawdziwy kod
Dobra, to teraz przyszed? czas aby napisa? pierwszy 'prawdziwy' kod kt?ry uruchomimy w kompilatorze.
Wyt?umacz? program kt?ry napisali?my wcze?niej:
Code:
// moj pierwszy niebianski kod, jestem wniebowziety!
#include <iostream>
#include <conio.h>
void main()
{
std::cout << "witaj, z tej strony program!" << std::endl;
getch();
}
jest komentarzem.// moj pierwszy niebianski kod, jestem wniebowziety!
Gdy wpiszemy do kompilatora znaki '//', damy mu zna?, ?e nast?pny akapit b?dzie komentarzem i zostanie zignorowany podczas dzia?ania programu. Mo?na je umieszcza? wsz?dzie. S? pomocne, ?eby obja?ni? dzia?anie niekt?rych funkcji gdy np. pokazujemy kod w internecie. S?owa kt?re zostan? zignorowane to te kt?re znajd? si? po nim i b?d? w tym samym akapicie. Nie mo?emy tego u?o?y? np. tak:
Code:
tutaj jest komentarz //
Code:
//
tutaj jest komentarz
Drugi i trzeci wers:
To s? pliki nag??wkowe. W nich umieszczamy informacje nt. czego b?dziemy u?ywa? w programie. "Include" jak sama nazwa wskazuje 'do??cza' do naszego programu jakie? dane aby sam program dzia?a?. ?eby to g??biej wyt?umaczy? zastosuj? przyk?ad.#include <iostream>
#include <conio.h>
Za???my, ?e instalujemy gr?. Gdy instalujemy jak?kolwiek gr? potrzebny nam jest program DirectX, prawda? Wi?kszo?? gier korzysta z tej biblioteki dlatego te? musi on by? zainstalowany na komputerze aby gra normalnie dzia?a?a.
Nasz program potrzebuje pewnych mechanizm?w do jej obs?ugi - nimi s? w?a?nie pliki nag??wkowe conio.h i iostream.
Plik?w nag??wkowych jest du?o, musimy dostosowa? je do naszych program?w. Gdy robimy co innego, potrzebujemy innych. To tak jak cho?by bieganie i boksowanie. Do biegania potrzebujemy n?g a do boksowania r?k. Proste, nie? :O
Trzeci wers:
To jest funkcja main.void main()
Za ka?dym razem gdy odpalamy nasz programik, wszystko co zawarte b?dzie w tej funkcji zostanie wykonane. Jest to zawsze najwa?niejsza funkcja w ca?ym programie. Tutaj wszystko si? zaczyna i wszystko si? ko?czy. Program konsolowy to przede wszystkim ta funkcja i w wi?kszo?ci z nich jest te? jedyn?.
Najwa?niejszy jest jednak nag??wek 'void'.
Sygnalizuje on kompilatorowi, ?e nie b?dzie zwracana ?adna warto?? podczas dzia?ania programu. Niekt?re programy gdy np. nie powiod? si?, zwracaj? komunikat, ?e 'co? nie wysz?o'. Nam to jest jednak?e zupe?nie nie potrzebne, gdy? nie piszemy na razie ?adnych trudniejszych program?w.
Wers czwarty i si?dmy:
Klamry kt?re widzisz, otwieraj? i zamykaj? funkcj?. Pomi?dzy nimi zawarty jest blok kodu.
Przyj??o si? ju?, ?e blok kodu musi zawiera? tabulacj?, czyli 'spacj?' pomi?dzy lewym bokiem okna a tekstem.
Wygl?da to mniej-wi?cej tak... Kod bez tabulacji:
Code:
{
tu jest jaki? tekst
}
Code:
{
tu jest jaki? tekst
}
Pi?ty wers:
Najwa?niejszy wers w ca?ym programie.std::cout << "witaj, z tej strony program!" << std::endl;
std::cout jest strumieniem wyj?cia. S?u?y on do wy?wietlania przez program wszystkiego co zostanie do niego wys?ane. B?dziemy u?ywa? strumienia wyj?cia bardzo cz?sto.
Wysy?anie tekstu jest w sumie bardzo intuicyjne.
Najpierw mamy:
Code:
std::cout
Nast?pnie mamy:
Code:
<< "witaj, z tej strony program!" <<
Nast?pnym elementem jest:
Code:
std::endl;
Sz?sty wers:
Ta linijka odpowiada za oczekiwanie programu na wci?ni?cie dowolnego przycisku przez u?ytkownika.getch();
Przebrn?li?my ca?kiem szybko przez nasz pierwszy program. Mam nadziej?, ?e dzi?ki mnie ju? rozumiecie z czego si? on sk?ada. Chcia?bym jednak?e te? wyt?umaczy? czym jest "std". Jest to przestrze? nazw, czyli nic innego jak zbi?r symboli kt?rym dajemy nazw?. Te dwa kt?re u?yli?my nale?? do standardowej biblioteki j?zyka C++.
Jak wygl?da wi?kszo?? program?w?
Wi?kszo?? z program?w pisanych przez programist?w wygl?da tak:
Code:
// moj pierwszy niebianski kod, jestem wniebowziety!
#include <iostream>
#include <conio.h>
void Tekst()
{
std::cout << "przykladowy tekst" << std::endl;
}
void main()
{
Tekst();
getch();
}
Ot?? tak jak wcze?niej m?wi?em - funkcja main() jest zawsze najwa?niejsza i jest wykonywana pierwsza. Najpierw program analizuje co robi funkcja Tekst() i przechodzi do main(). W main() umie?cili?my te? nast?puj?c? linijk?:
Dzi?ki temu, funkcja main() 'powie' programowi, ?eby wykona? funkcj? Tekst(). Proste, prawda?Tekst();
Koniec
Dzi?ki za przeczytanie, to ju? koniec dzisiejszej lekcji. Mo?liwe, ?e jeszcze dzi? napisz? trzeci? ale nic nie gwarantuj?. Poznamy wtedy tak?e sta?e i zmienne oraz strumie? wej?cia. Poradnik wykonany dla tibia.net.pl, zastrzegam sobie do niego jakiekolwiek prawa.
Cze??!