←  Tutoriale

AMXX.pl: Support AMX Mod X i SourceMod

»

C++
struktura programu oraz podstawy programow...

Zablokowany

  • +
  • -
G[o]Q - zdjęcie G[o]Q 19.02.2010

Zacznę od tego co to jest w ogóle c++ jest to obiektowy język programowania dający nam bardzo duże możliwości można w nim stworzyć praktycznie wszystko i idealnie nadaje się dla początkujących programistów jak i dla zaawansowanych.Możemy w nim stworzyć proste programy które mogą służyć do nauki czy tez do wykonania jakichś prostych zadań lub tez zaawansowane programy które będą używane tez przez innych.

Zacznijmy od tego ze każdy program trzeba skompilować nie będę tu wchodził w szczegóły typu linkowanie i tym podobne ponieważ to jest dla początkujących nie istotne,używanym prze zemnie kompilatorem jest dev c++ którego polecam.


A wiec zaczynamy każdy program składa się z:


a) dyrektyw pre-procesora :
najważniejsza dyrektywa to
#include <nazwa biblioteki>
która dołącza moduły do naszego programu bez niej żaden program by się nie uruchomił,najczęściej będziemy używać biblioteki "iostream" wiec
deklarować będziemy tak :
#include <iostream>
. O innych dyrektywach pre-procesora później.
b)deklaracji przestrzeni nazw (opcjonalnie)
przestrzeń nazw jest to coś co znacznie ułatwi nam prace ponieważ skróci nazwy naszych funkcji o zapis

"przestrzeń_nazw"::"nazwa funkcji".

Juz tłumacze przestrzenie nazw są takie jakby katalogi w których przechowywane są nazwy funkcji, zostało to wprowadzone z prostego powodu a mianowicie każdy użytkownik może sobie napisać swoje biblioteki i dodać je do programu żeby zapobiec dublowaniu się nazw funkcji czyli sytuacji gdy 2 osoby nazwa dwie różne funkcje tak samo wprowadzono właśnie przestrzenie. Przestrzenie deklarujemy w sposób następujący :
using namespace nazwa_przestrzeni;
np using namespace std; czyli skrót od standard;
c) funkcji głównej
funkcja główna jest to nieodzowny element każdego programu to od niej zaczyna się wykonanie naszego codu. Najczęściej ma ona postać :
int main(){

		}
funkcja główna może oczywiści mieć parametry ale w początkowych programach ta funkcja nie będzie ich miała

Wiec to były najważniejsze elementy programu a teraz coś więcej o języku:


a) deklaracja zmiennych :
zmienne deklarujemy wg następującego schematu :

typ_danych nazwa

typy danych to min :
int,short,long,double,float,char,bool
przykładowa deklaracja:
int zmienna;
b)deklaracja i definicja funkcji
funkcje deklarujemy podobnie jak zmienne a mianowicie :
typ_wyniku nazwa_funkcji(parametry){

		}
np:
double funkcja(int a,int <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
dodatkowo każda funkcja powinna być zdefiniowana pod instrukcja using namespace
wygląda to tak
typ_wyniku nazwa(parametry);
czyli może to być kopia nagłówka funkcji , nie musimy tego stosować wtedy gdy nie chcemy używać funkcji ostatniej w programie w funkcji 2 lub 3 czyli jeśli nie chcemy odwoływać się w tył
dodatkowo funkcja może przyjmować typ wyniku void oznacza to ze nie zwraca ona wyniku w innym wypadku w każdej funkcji powinniśmy użyć return żeby zwrócić jakaś wartość
c)ramy programu
każdy blok mający więcej niż jedna instrukcje powinien zawierać się w "{" i "}"
d)średniki
średnik dajemy po każdej instrukcji z wyjątkiem pętli for oraz while ,nagłówka funkcji dyrektyw pre-procesora
e) pętle:
w języku c++ wyróżniamy 3 rodzaje pętli :

-for
-while
-do-while


pętla for ma postać :

for (wartość_początkowa_licznika;warunek_wykonania_pętli;instrukcja_krokowa)

np
for (int i=0;i<10;i++)
wykona podane działanie 10x
pętla while ma postać:

while(warunek){
kod
}

np
while(i<10){
			i++
			}
pętla do - while ma postać

do{
kod
}while(warunek);

np
do{
			i++
			}while(i>10);
f) instrukcja warunkowa:
instrukcja warunkowa to instrukcja wykonująca się jeżeli warunek jest spełniony ma ona postać :

if(warunek){
jeśli warunek prawdziwy to ...
}
else jeśli warunek nie prawdziwy

g)operatory:
"==" - sprawdzenie czy wyrażenia po lewej stronie jest równe wyrażeniu po prawej stronie np 1==2-1
"=" - operator przypisania np int a=5
"!=" - operator negacji np 1!=4
"||" - operator "lub" stosowany w pętlach do oraz while i instrukcjach warunkowych aby dać instrukcji kilka możliwości np if((a==1)||a==2))
"&&"- operator sumy logicznej czyli "i" stosowany w pętlach do oraz while i instrukcjach warunkowych aby wykonać kod jeśli jednocześnie kilka warunków jest spełnione np if((a==1)&&(b==2))
"%" - operator reszty z dzielenia np 10%10 zwróci 0 a 11%10 zwróci 1
"++" - zwiększa wartość zmiennej stojącej po lewej stronie o 1

h) instrukcje wejścia/wyjścia:
Podstawowa instrukcja wyjścia jest

std::cout<<"text";

pisze ona podany text na ekranie
jeśli mamy zadeklarowana przestrzeń nazw to jest to

cout<<"text";

przy stosowaniu musimy jednak pamiętać o tym ze aby wyświetlić wartosc zmiennej po texcie musimy zrobić tak
cout<<"text"<<zmienna;
w tej instrukcji mamy do dyspozycji kilka znaków specjalnych:

"\n" lub "endl;"- przejście do nowej linii
"\t" wstawienie znaku tabulacji
"\r" usuniecie textu z ostatniej linijki
aby wyświetlić znak podając kod asci używamy operatora rzutowania char(kod) np cout<<"znak o kodzie 70 to "<<char(#70);

Podstawowa instrukcja wejścia jest

cin>>nazwa zmiennej;

wczytuje ona wartość zmiennej do naszego programu
przykład:
cout<<"podaj liczbę";int liczba;
				cin>>liczba;
				cout<<"wprowadzona liczba to "<<liczba;
i) instrukcje przerwania:
instrukcje przerywające jaka czynność w programie:

break- kończy aktualny blok instrukcji
continue - pomija jeden cykl pętli (nie cala pętle tylu 1 "obrót")
exit(1) - kończy program

Odpowiedz

pAC - zdjęcie pAC 07.10.2010

Ja bym jeszcze dodal do petli schematy blokowe
Odpowiedz

  • +
  • -
SHooT`3R - zdjęcie SHooT`3R 07.10.2010

Drodzy użytkownicy... Proszę, nie używajcie Dev'a... Jest to już satare, nieaktualne i w ogóle źle się piszę ; ) Ja polecam Visual Studio Microsoftu. Jeżeli ktoś chce płacić za całe Visual Studio, proszę bardzo :D. Jeżeli natomiast chcesz mieć legalnie to ŚRODOWISKO (!), to możesz ściągnąć coś takiego jak wersję Express. Wpisz w wyszukiwarkę hasło "Microsoft Visual C++ 2010 Express". od razu będzie mnóstwo wyników. Może to środowisko będzie się wydawać trudne dla początkującego, to warto się na nie przerzucić. Pozdrawiam !
Odpowiedz

  • +
  • -
Knopers - zdjęcie Knopers 07.10.2010

Moim zdaniem Nie warto zaczynać od języka Visual ponieważ żadnych podstaw tan nie zdobędziesz a posłuży ci to tylko do pisania programów pod windowsa.
Faktycznie pod inne OS są inne biblioteki ale lepiej jest najpierw zacząć od czystej konsolki niż od razu od okna .
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 07.10.2010

Visual to kombajn, do GUI jest tam .NETowe środowisko C++/C#, ale normalnie można pisać konsolowe programy :P z niezłym debuggerem
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 08.10.2010

jak pisalem poradnik to uzywalem dev'a teraz uzywam visuala i jest duzo lepszy xD
Odpowiedz

MaDaFaKa - zdjęcie MaDaFaKa 17.11.2010

Dobry poradnik dla początkujących, ale bolą mnie dwie sprawy. Wyświetlanie textu za pomocą "cout", choć jest teoretycznie prostsze, to jest złym nawykiem. Powinieneś zastosować metodę "printf()" z biblioteki "conio.h", która jest zdecydowanie szybsza. Defakto w tutorialu nie widzę przejścia do kolejnej funkcji, co jest na tym etapie dosyć ważne. Tyle z mojej strony.

Dodano 17 listopad 2010 - 21:34:
Dobry poradnik dla początkujących, ale bolą mnie dwie sprawy. Wyświetlanie textu za pomocą "cout", choć jest teoretycznie prostsze, to jest złym nawykiem. Powinieneś zastosować metodę "printf()" z biblioteki "conio.h", która jest zdecydowanie szybsza. Defakto w tutorialu nie widzę przejścia do kolejnej funkcji, co jest na tym etapie dosyć ważne. Tyle z mojej strony.
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 18.11.2010

Wyświetlanie textu za pomocą "cout", choć jest teoretycznie prostsze, to jest złym nawykiem


ale cout jest podstawowym operatorem
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 18.11.2010

cout nie jest operatorem :P ja też używam printf`a tak jak MaDaFaKa, ale ten sposób też jest w porządku
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 18.11.2010

no tak nie jest ale wiadomo o co chodzilo :D

a jak juz sie mamy czepiac to nie uzywa sie slowa "metoda" tylko "funkcja skladowa" xP
Odpowiedz

MaDaFaKa - zdjęcie MaDaFaKa 18.11.2010

Ahh... Takie błędne drobnostki w naszych wypowiedziach zdażają się często. Czepiając już się, to muszę dodać i również podkreślić to, iż w poradniku zabraklo zabrakło wywołania funkcji w funkcji, co wydaje się być dosyć istotne :)
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 18.11.2010

wywołania funkcji w funkcji


a widziales kiedys wywolanie funkcji poza funkcja :?:
Odpowiedz

MaDaFaKa - zdjęcie MaDaFaKa 18.11.2010

No tak uciążliwego człowieka jakim jesteś, muszę przyznać, że jeszcze nie wiedziałem. Poza funkcją wywołania nie ma, ale dobrze by było, żebyś zaprezentował wywołanie w funkcji w swoim tutorialu.
Użytkownik MaDaFaKa edytował ten post 19.11.2010 14:33
Odpowiedz

  • +
  • -
Frozen - zdjęcie Frozen 19.11.2010

Drodzy użytkownicy... Proszę, nie używajcie Dev'a... Jest to już satare, nieaktualne i w ogóle źle się piszę ; ) Ja polecam Visual Studio Microsoftu. Jeżeli ktoś chce płacić za całe Visual Studio, proszę bardzo :D. Jeżeli natomiast chcesz mieć legalnie to ŚRODOWISKO (!), to możesz ściągnąć coś takiego jak wersję Express. Wpisz w wyszukiwarkę hasło "Microsoft Visual C++ 2010 Express". od razu będzie mnóstwo wyników. Może to środowisko będzie się wydawać trudne dla początkującego, to warto się na nie przerzucić. Pozdrawiam !



stary ale ja wole dev c++ bo tym zaczolem... moze ktos bd mial source programu i zrobi update ciekawe...
Odpowiedz

MaDaFaKa - zdjęcie MaDaFaKa 19.11.2010

Patrząc na stopień inteligencji Twoich wypowiedzi(bez obrazy) oraz znajomość Pawna, cięzko mi jest uwieżyć w to, iż znasz c++. Wracając jeszcze do Twojej wypowiedzi, to groteską byłoby umieszczenie przez Bloodshed kodu źródłowego programu, nad którym programiści ciężko pracowali.
Odpowiedz

  • +
  • -
Frozen - zdjęcie Frozen 19.11.2010

nie wiem o co ci chodzi ale niech ci bd :D
Odpowiedz

MaDaFaKa - zdjęcie MaDaFaKa 19.11.2010

nie wiem o co ci chodzi ale niech ci bd


Oh My Gooodnees! Czy ty naprawdę nie jesteś w stanie zrozumieć prostej polszczyzny(w mojej podświadomości polski jest dosyć łatwym językiem). Na tym etapie nauczania(o ile się nie myle jesteś w II Gimnazjum) powienieneś bezproblemowo rozpoznawać takie słowa jak groteska, itp. Jeżeli ich nie rozumiesz, to musisz zasięgnąć po słownik. Wracając jeszcze do Twojej wiedzy o programowaniu - "Nie rozumiem Ciebie". Chciałeś zabłysnąć na tym forum, mówiąc, iż znasz C++? Popracuj nad składnością zdań i ich rozumowaniem, bo jak na taki wiek dość kiepsko Ci to wychodzi.

PS. Napis u Ciebie pod ilością reputacją idealnie określa Twoje umiejętności.
Użytkownik MaDaFaKa edytował ten post 19.11.2010 15:19
Odpowiedz
Zablokowany