Hacker World
----------------------PROGRAMIRANJE-----------------------
Programiranje (en. programming) je vestina pomocu koje korisnik stvara i izvrsava algoritme koristeci odredjene programske jezike da bi napravio racunarski program. Programiranje sadrzi elemente umetnosti,znanja, matematike i konstruiranja.
U matematici i racunarskoj nauci algoritam je odredjeni skup definiranih naredbi za obavljanje nekog zadatka. Algoritmi se koriste u racunarskim programima kao nacin resavanja nekog zadatka. Algoritam moze znaciti i graficki prikaz toka obrade ili skup instrukcija racunarskog programa (tad se naziva dijagram toka). On predstavlja vodilju za programera koji pomocu algoritama predstavlja viziju programa koji zeli napisati u programskom jeziku.
Koncept algoritma se obicno ilustrira pojednostavljeno, iako je u stvarnosti kompliciran. Algoritmi sadrze stepenice koje se ponavljaju ili zahtijevaju odluke koje propisuje programer. Koncept algoritma je dobio formu 1936. preko Turingovih masina i Alonzo Churchovog lambda calculusa, koji su prakticno udarili temelje racunarske nauke. Vecinu algoritama je moguce implementirati u racunarski program.
PROGRAMSKI JEZIK
Programski jezik je formalni jezik za prezentaciju racunalnih programa. Pomoću njega se racunalnom sistemu, covjeku citljivim tekstom, daju instrukcije i naredbe za izvrsenje unutranjih zadataka, opis ulaznih i izlaznih podataka kao i njihovu strukturu u zavisnosti od unutrasnjih (u sistemu) i vanjskih (izvan sistema) dogadjaja.
Do danas napravljeno je hiljade programskih jezika, dok je samo nekoliko od njih postalo poznato i dostupno sirokom krugu korisnika. Neki su vise usmereni za resavanje odredjenog zadatka, dok su sveobuhvatniji programski jezici (kao C programski jezik) mnogo poznatiji i cesce u primjeni.
Elementi jednog programskog jezika
•Obrada ulaznih podataka
Podatke preuzeti sa tastature, iz datoteke ili nekog drugog izvora.
•Obrada izlaznih podataka
Podatke predati monitoru, datoteci, bazi podataka ili nekom drugom medijumu.
•Matematicka obrada podataka
Podatke obraditi pomocu matematicke operacije,npr: sabiranje, oduzimanje ili deljenje.
•Poredjenje i izbor
Provera odredjenih mogucnosti i kontrola izvrsavanja naredbi.
•Ponavljanje
Posebnim pravilima regulirano ponavljanje izvrsenja naredbi (obicno sa varijacijama podataka ili pravila ponavljanja).
KLASIFIKACIJA PROGRAMSKIH JEZIKA
1.Prva generacija (Masinski jezici)
2.Druga generacija (Asembler jezici)
3.Treca generacija (Jezici viseg ranga)
4.Cetvrta generacija (Objektni i jezici posebne namene)
Svaki programer pise programski kod u nekom programskom jeziku. Razliciti programski jezici podrzavaju razlicite stilove programiranja (programska paradigma). Razliciti programski jezici zahtevaju razlicite razine znanja, umeca i detalja koje programer treba posedovati.
Jedini programski jezik koji programer moze direktno izvrsavati je masinski jezik (masinski kod ili binarni kod). U pocecima racunarstva programeri su pisali u masinskom kodu, sto je bilo vrlo komplikowano i zamorno. Sledeci korak u razvoju racunarskog programiranja ogleda se u upotrebi simbolickih jezika, poznatih pod zajednickim nazivom asembler. Asemblerski jezici sastoje se od jednostavnih instrukcija koje se direktno i jednoznacno mogu prevesti u masinski kod koji se direktno izvrsava. Iako mnogo pogodnije i od masinskog programiranja, asemblersko programiranje karakterizira velika kolicina posla koju programer mora obaviti, zbog cinjenice da su operacije i dalje elementarne. Zbog toga su strucnjaci stvorili programske jezike vise razine pomocu kojih se pise izvorni kod koji se u masinski kod prevodi posredstvom specijalnog programa poznatog pod nazivom programski prevodioc ili kompajler.
C programski jezik
C programski jezik spada u proceduralne programske jezike koji je razvijen u ranim 70-im godinama 20. stoljeća. Autor ovog programskog jezika je Dennis Ritchie, no znacajan doprinos nastanku C-a dali su Ken Thompson kao autor programskog jezika B i Martin Richards, autor programskog jezika BCPL. Dennis Ritchie je stvorio ovaj programski jezik za resavanje prakticnih problema kodiranja sistemskih programa i jezgre operativnog sistema UNIX, koji je prakticki u cielosti napisan u C-u.
Programski jezik C dosta se mijenjao tijekom godina te je u vise navrata neformalno i formalno standardiziran. Prva vaznija inacica poznata je pod nazivom "K&R C", što je engl. kratica prezimena dvaju autora najpoznatijeg C prirucnika "The C Programming Language", a to su Brian Kernighan i Dennis Ritchie. Prvo izdanje te vrlo sazeto i precizno pisane knjige koje datira iz 1978. godine ujedno je de facto standardiziralo jezik u 70-ima. Drugo izdanje iz 1988. godine opisuje "ANSI C", standard kojeg je 1983. godine definirao americki nacionalni institut za standardizaciju, a koji je i danas najbolje podrzan. Aktualni ISO/IEC standard skraceno poznat kao "C99" podrzava u cijelosti samo jedan manji dio komercijalnih proizvodjaca softvera.
Kao jedan od najvaznijih jezika u povesti komercijalne racunalne industrije, C je do danas ostao jedini programski jezik prilagodjen za sve racunalne platforme, od malih sustava pa do mreznih superracunala. Programi napisani u njemu vrlo su bliski nacinu rada hardvera te u nacelu zahtijevaju od programera dobro razumijevanje rada procesora, memorije, ulazno-izlaznih sklopova itd. No, rad s registrima procesora i adresiranje memorije apstrahirani su pomocu koncepta varijabli i pokazivaca sto uz eksplicitne kontrolne strukture i funkcije znatno olaksava programiranje u odnosu na izravno programiranje u strojnim jezicima.
Tijekom 1980-ih, Bjarne Stroustrup zajedno s drugim istrazivacima u Bell Labs prosiruje C dodavajući sposobnosti objektno orijentiranog programiranja, a naziv ovog novog programskog jezika je C++. Nazalost, ta je stopostotna kompatibilnost ujedno i razlog što su problemi koje programiranje u C-u nosi sa sobom naslijedjeni u C++-u. Efikasno i sigurno programiranje u C-u vrlo je zahtjevna vestina koja trazi visegodisnje iskustvo pa je stoga C jezik koji se ne preporucuje pocetnicima, posebice ako im programiranje nije primarni posao.
Mnogobrojni problemi vezani prije svega za upravljanje memorijom koje programer mora sam eksplicitno kodirati razlog su da je danas vecina novih korisnickih aplikacija napisana u nekom modernijem jeziku koji ima ugradjeno automatsko upravljanje memorijom (engl. garbage collection), ne dopusta izravan rad s memorijom pomocu pokazivaca te ima podrsku za upravljanje kodom odnosno njegovom okolinom za vrijeme njegova izvodjenja. Danas se retko ukazuje potreba za pisanjem novih korisnickih aplikacija izravno u C-u, pa cak i u vrlo malim sustavima kao sto su primjerice mobilni telefoni. Glavno podrucje njegove uporabe su sistemski programi na strani posluzitelja (engl. servers), programi prevoditelji (engl. compilers) i jezgre operativnih sustava (engl. operating system kernels), gdje je potreba za najvecom mogucom brzinom izvodjenja, efikasnom kontrolom resursa i izravnom kontrolom hardvera od primarne vaznosti.
PROGRAMIRANJE U C++
C++ TUTORIJALI
Uvod u C++ programiranje
C++ je objektno orjentirani programski jezik kojim su pisani mnogi današnji programi koje srećete u svakodnevnom radu na računalu.
Bez puno okolišanja i priče o samom C++ idemo odmah učiti.
--------------Compilers (kompajleri/prevoditelji) ...
Kod programiranja u C++ često ćete vidjeti engleske riječi kao naredbe. U tu svrhu nam koriste compileri da bi te naredbe razumljive čovjeku pretvorile u izvedbeni kod.
U izboru imate mnogo compilera za izabrati. Neki od njih se plaćaju (i to dosta novaca) pa vam ja preporučujem besplatno razvojno okruženje i compiler Dev-C++
--------------Prvi projekt ...
Kada ste instalirali Dev-C++ pokrenite ga i idite na File -> New -> Project. Odaberite ''Empty Project'' te ga imenujte kao ''Prvi_program'' (tako bez razmaka). Označite dolje desno C++ Project i uključite kvačicu na ''Make Default Language''. Kliknite na OK, zatim na Save .
Kada ste to napravili, idite na File -> New -> Source File i kliknite na Yes. S time ste dobili file gdje ćete pisati vaš C++ kod.
Pa napravimo jednostavan ''Hello World'' program za probu.
Upišite ovaj kod:
--------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World!";
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
Primetite da svaka naredba u C++ mora završavati sa sa znakom ;
Sada taj kod treba iskompajlirati. To ćete učiniti tako da pritisnete tipku F9 na tastaturi. Program ce se kompajlirati i pokrenuti.
Program ce se pojaviti i odmah nestati tako da necete uspjeti videti nista. To možete resiti tako da izmedju cout << ''Hello World'!'; i return 0; upisete
--------------------------------------------------------------------------------------------------------------------------
char a;
cin >> a;
--------------------------------------------------------------------------------------------------------------------------
ili da program pokrenete iz Command Prompta.
Ovako pomoću cahr a; i cin >> a; deklariramo varijablu a i program očekuje da utipkamo vrijednost te varijable pa se ne gasi.
Pa da objasnimo sada dijelove cijelog koda ovog jednostavnog programa.
--------------------------------------------------------------------------------------------------------------------------
#include <iostream>
--------------------------------------------------------------------------------------------------------------------------
Program zahtjeva od prevoditelja da u program uključi biblioteku iostream koja je standardna ulazno/izlazna biblioteka koja nam omogućuje ispis na ekranu.
NAPOMENA: #include nije naredba u C++ nego se radi o pretprocesorskoj naredbi
--------------------------------------------------------------------------------------------------------------------------
using namespace std;
--------------------------------------------------------------------------------------------------------------------------
Svi elementi standardne C++ biblioteke su deklarirani u ovome što piše namespace sa imenom std.
--------------------------------------------------------------------------------------------------------------------------
int main ()
--------------------------------------------------------------------------------------------------------------------------
Svaki program mora imati ni manje ni više nego jednu main funkciju. Sav kod unutar main zagrada se izvršava. Int pretstavlja Integer (cijeli broj) što govori da će program pri završetku izvođenja programa vratiti cijeli broj.
--------------------------------------------------------------------------------------------------------------------------
cout << "Hello World";
--------------------------------------------------------------------------------------------------------------------------
Ovo ispisuje Hello World! na ekran. Cout pretstavlja standardni ispisni tok. Mogli ste taj kod napisati i ovako cout << ''Hello World“ <<endl;
A možete i jednostavno nastaviti rečenicu u novi red tako da napišete
--------------------------------------------------------------------------------------------------------------------------
cout << "Hello World!" <<endl <<"Ja sam programer";
--------------------------------------------------------------------------------------------------------------------------
Endl pretstavlja End Line (kraj linije) odnosno ispis u novi red. Tako bi svaka rečenica koju napišete bila u redu ispod.
--------------------------------------------------------------------------------------------------------------------------
return 0;
--------------------------------------------------------------------------------------------------------------------------
Tom naredbom glavni program javlja operacijskom sustavu da je program uspješno završen.
Kod je potrebno ponekad komentirati kako se nebi izgubili u kodu, ili jednostavno kao potsjetnik na nečega.
Ovako možete komentirati kod bez da taj tekst utječe na izvršavanje programa...
/* Ovo je moj prvi program, sa ovim načinom komentiranja
mogu svoje komentare pisati u više redova, tako da tu može
biti svega... */
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World!"; // komentiram samo jednu liniju
char a;
cin >> a;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
--------------------------VARIJABLE----------------
Što su varijable?
Varijable postoje u svakom programskom jeziku. U varijablama pohranjujete nekakve vrijedosti, brojeve, slova, i sve druge znakove.
Evo primjera kako rečenicu iz prošlog tutorijala upisati u varijablu i zatim pomoć varijable ispisati istu na ekran.
--------------------------------------------------------------------------------------------------------------------------
#include<iostream>
using namespace std;
main()
{
string recenica;
recenica = "Hello World!";
cout << recenica;
char a;
cin >> a;
return 0;
}
Dakle sa .....
--------------------------------------------------------------------------------------------------------------------------
string recenica
--------------------------------------------------------------------------------------------------------------------------
deklariramo da će varijabla ''recenica'' biti string odnosno skup nekakvih znakova. String je tip podatka. O tome više u idućem tutorijalu. Zapamtite samo da se svaka varijabla mora deklarirati prije pridruživanja vrijedosti.
--------------------------------------------------------------------------------------------------------------------------
recenica = ''Hello World'';
--------------------------------------------------------------------------------------------------------------------------
Sa ovime varijabli ''recenica'' pridružujemo vrijednost ''Hello World!''
--------------------------------------------------------------------------------------------------------------------------
cout << recenica;
--------------------------------------------------------------------------------------------------------------------------
Sa ovim ispisujemo varijablu. Primjetite da nema navodnika. Ako želite nešto pored toga napisati što nije sadržano u varijabli možete to napisati ovako.
--------------------------------------------------------------------------------------------------------------------------
cout << recenica << " What's up?";
--------------------------------------------------------------------------------------------------------------------------
Dakle prvo ide varijabla ''recenica'' bez navodnika, zatim opet stavljamo strelice za ispis i u navodnike pišemo nastavak rečenice. Primjetite razmak između navodnika i slova W u drugoj rečenici. To smo napravili tako da riječi ne budu spojene jer će se ispisati u isti red. Prisjetite se da ako želite u novi red ispisati nešto možete to napraviti sa ''<<endl'' Također u novi red možete ići ako napišete negdje u navodnicima \n, npr.
--------------------------------------------------------------------------------------------------------------------------
cout << recenica << "\n What's up?";
--------------------------------------------------------------------------------------------------------------------------
Idemo sada napraviti mali program koji će izračunavati dva broja.
--------------------------------------------------------------------------------------------------------------------------
#include<iostream>
using namespace std;
main()
{
int a, b, rezultat;
a = 7;
b = 12;
rezultat = a + b;
cout << "Zbroj ta dva broja je " << rezultat;
char x;
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
Kao što string označava niz znakova, tako int označava integer odnosno cijeli broj. Znači sve što će biti pridodano varijablama a, b i rezultat će biti cijeli broj (nikakvi decimalni brojevi, slova, drugi znakovi nego samo cijeli broj).
Primjetite da smo ovdje protiv nestajanja prozora koristili drugu varijablu da ne bi došlo do konflikta.
Deklarirati varijable možete ovako kao u primjeru a možete i svaku posebno na ovaj način:
--------------------------------------------------------------------------------------------------------------------------
int a;
int b;
int rezultat;
--------------------------------------------------------------------------------------------------------------------------
Nakon deklariranja varijabli slijedi naravno pridodavanje vrijednosti tim varijablama. Pridodajemo varijabli a broj 7, varijabli b broj 12 a varijabla rezultat će pohraniti onaj zbroj koji daju varijable a i b. U ovom slučaju 7 + 12 = 19. Znači varijabli "rezultat" se pridružuje vrijednost 19.
Varijable možete također deklarirati i pridružiti im vrijednost odjednom. Dakle ovako:
--------------------------------------------------------------------------------------------------------------------------
int a = 7;
int b = 12;
int rezultat = a + b;
--------------------------------------------------------------------------------------------------------------------------
Probajte sada napisati ovakav program :
#include<iostream>
using namespace std;
main()
{
int a, b, rezultat;
cout << "Unesite prvi broj: ";
cin >> a;
cout << "Unesite drugi broj: ";
cin >> b;
rezultat = a + b;
cout << "Zbroj ta dva broja je " << rezultat;
char x
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
Dakle, ovo je skoro isto kao i prethodni primjer samo što ovdje imamo
--------------------------------------------------------------------------------------------------------------------------
cin >> a;
--------------------------------------------------------------------------------------------------------------------------
Program očekuje da ćete napisati neki broj i kada vi napišete taj broj on će ga spremiti u varijablu "a". Isto tako i dvije linije poslje za varijablu "b".
Signed i Unsigned
Ovo koristimo za varijable sa predznakom i bez predznaka.
Ako stavite
unsigned int a;
onda varijabli "a" nećete moći pridružiti broj sa predznakom (npr. -12) a ako umjesto unsigned napišete signed ili ostavite bez toga onda ćete moći upisati predznak.
-----------------------Doseg varijabli ----------------
Varijable mogu biti globalne ili lokalne. Globalne varijable su one varijable koje su deklarirane u glavnom tijelu source koda, izvan svih funkcija dok su lokalne varijable one varijable koje su deklarirane u funkciji ili bloku.
Vjerujem da će vam biti jasnije ako vam to objasnim primjerom.
--------------------------------------------------------------------------------------------------------------------------
Primjer lokalnih varijabla
#include<iostream>
using namespace std;
main()
{
int a, b, rezultat;
a = 2;
b = 5;
rezultat = a + b;
cout << rezultat;
char x;
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
Primjer globalnih varijabli
--------------------------------------------------------------------------------------------------------------------------
#include<iostream>
using namespace std;
int a, b, rezultat;
main()
{ a = 2;
b = 5;
rezultat = a + b;
cout << rezultat;
char x;
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
Globalnim varijablama se može pristupiti bilo gdje u kodu, čak i u funkcijama dok je lokalnim varijablama moguće pristupiti samo unutar vitičastih zagrada { i }
NAPOMENA: sve varijable moraju početi sa slovom ili donjom crticom _ . Ne smiju početi brojevima niti ičim drugim. Osim toga, sve varijable u svom nazivu smiju imati samo slova, brojeve (od drugog mjesta na dalje), i crtice (_), a ne smiju sadržavati razmake, navodnike i slične simbole.
Također bitno je to da vam se varijable ne smiju zvati sljedećim imenima:
asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq
Jer su to ključne riječi i operatori jezika C++.
Još jedna napomena: C++ je case sensitive jezik, odnosno osjetljiv na velika i mala slova. Tako da recenica i RecEnica nije ista varijabla.
--------------------------------------------------------------------------------------------------------------------------
-------------------------------Konstante (nepromjenjive) -----------------------
Varijable su promjenjive dok su konstante su izrazi sa fiksnim, nepromjenjivim vrijednostima.
Morate inicirati konstantu kada ju napravite, i ne možete jej prirdružiti novu vrijednost kasnije. Poslje kada je konstanta inicirana njezina vrijednost je nepromjenjiva.
Literal Constants (konkretne konstante)
C++ ima dva tipa konstanti: konkretne i slimbolične (literal i symbolic)
Literal konstanta je vrijednost upisana direktno u program kada god je to potrebno. Npr.
--------------------------------------------------------------------------------------------------------------------------
int godine = 24;
--------------------------------------------------------------------------------------------------------------------------
godine je varijabla tipa integer, a 24 je literal konstanta. Ne možete pridružiti vrijednost na 24, i ta vrijednost ne može biti promijenjena.
Symbolic constants (simbolične konstante)
Simbolična konstanta je konstanta koja je pretstavljena po imenu, baš kao i varijabla. Ali nakon što je konstanta inicirana, njezina vrijednost ne može biti promjenjena. Ako imate jednu integer varijablu imenovanu "studenti" i drugu imenovanu "ucionica", možete procijeniti koliko studenata imate, i broj učionica, te ako znate da je 15 studenata po razredu.
--------------------------------------------------------------------------------------------------------------------------
sudenti = ucionice * 15;
--------------------------------------------------------------------------------------------------------------------------
U ovom primjeru, broj 15 je Literal konstanta. Kod bi bio puno jednostavniji za čitanje i jednostavniji za održavati ako biste tu vrijednost zamijenili simboličnom konstantom.
--------------------------------------------------------------------------------------------------------------------------
studenti = ucionice * ucenika_po_ucionici;
--------------------------------------------------------------------------------------------------------------------------
----------------------------Aritmetički operatori ----------------------------------
Operator je simbol koji predstavlja specifičnu akciju. Već smo kod primjera zbrajanja koristili operator "+". Osim operatora + imamo još nekoliko aritmetičkih operatora.
Aritmetički operatori jednako dobro rade sa negativnim brojevima kao i sa pozitivnim, sa iznimkom modulus operatora, rade sa cijelim brojevima jednako dobro kao i sa brojevima sa pomičnim zarezom.
Neki programski jezici imaju eksponent operator, što nije slučaj kod C++. Umjesto toga C++ ima ugrađenu funkciju pow koja je definirana u standardnoj biblioteci cmath
pow funkcija ima dva arumenta. Prvi argument je baza (glavni broj), a drugi broj je eksponent.
Pogledajmo primjer:
--------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <cmath> // ukljucili smo biblioteku cmath
using namespace std;
int main()
{
double baza, eksponent, rezultat;
cout << "Unesite broj ";
cin >> baza;
cout << "Unesite eksponent ";
cin >> eksponent;
rezultat = pow(baza, eksponent);
cout << "Rezultat = " << rezultat;
char x;
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
----------------------------Naredba IF --------------------------
Naredbu IF koristimo onda kada želimo izvršiti neki kod samo ako je vrijednost nekog odnosnog izraza istinita.
Evo primjera:
--------------------------------------------------------------------------------------------------------------------------
#include<iostream>
using namespace std;
main()
{
string password;
cout << "Unesite password: ";
cin >> password;
if(password=="G2105Z") {
cout << "Password tocan!"; }
char x;
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
Definirali smo string password, sa cin naredbom upisali ono što korisnik upiše u varijablu password, zatim slijedi provjera sa IF naredbom.
Sintaksa IF naredbe je zapravo:
if(uvjet) { kod koji se izvšrava }
Naravno nije IF naredba ograničena samo na provjeravanje točnosti. Možete koristiti sve odnosne operatore koje smo objasnili u prošlom tutorijalu. Npr:
--------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int main()
{
int godine;
cout << "Koliko imate godina? ";
cin >> godine;
if (godine < 18 ) {
cout << "Maloljetni ste!"; }
char x;
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
U svrhu učenja isprobajte sve odnosne operatore. Npr. probajte napisati mali program koji će provjeriti da li je broj djeljiv sa 2 (bez ostatka).
--------------------------If...Else naredba ---------------------------
If...Else naredba je proširenje If naredbe. Kao što smo već rekli u prošlim tutorijalu, If naredba omogućuje izvršavanje nekog koda ukoliko je uvjet zadovoljen, a ukoliko nije neće se izvršiti ništa.
Ako bi smo htjeli napraviti da ukoliko uvjet nije zadovoljen da se izvrši neki drugi kod onda koristimo If...Else naredbu.
Evo primjera kako koristiti If...Else naredbu (koristit ćemo primjere iz prošlog tutorijala)
--------------------------------------------------------------------------------------------------------------------------
#include<iostream>
using namespace std;
main()
{
string password;
cout << "Unesite password: ";
cin>> password;
if(password=="G2105Z") {
cout << "Password tocan!"; }
else {
cout << "Password netcan!"; }
char x;
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
Kao sto vidite kod je isti kao i za if naredbe, else pa vitičaste zagrade i unutra kod za izvršavanje.
Evo i onog drugog primjera:
--------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int main()
{
int godine;
cout << "Koliko imate godina? ";
cin >> godine;
if (godine < 18 ) {
cout << "Maloljetni ste!"; }
else {
cout << "Punoljetni ste!" }
char x;
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
--------------------------If...Else If...Else naredba --------------------------
Ovdje ćemo proširiti tu naredbu tako da možemo ispitati više uvjeta. Za to korisimo If...Else-If...Else narebu.
Evo primjera:
--------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int main()
{
int godine;
cout << "Koliko imate godina? ";
cin >> godine;
if (godine <= 17 ) {
cout << "Maloljetni ste!"; }
else if (godine>=18 and godine<=39) {
cout << "Punoljetni ste"; }
else if (godine>39 and godine<70) {
cout << "Najljepse godine"; }
else {
cout << "Stari ste"; }
char x;
cin >> x;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
Dakle sa ovom narebom možemo ispitati više uvjeta. U ovom primjeru dosta koristimo odnosne operatore, pa ako niste naučite ih (4 tutorijala ispred ovoga).
Sve je isto kao i naredba if...else samo što ovdje možete više puta staviti naredbu else if kako biste ispitali više uvjeta.
-------------------------------Naredba while--------------------------------
Oba petlja nam sluzi za definiranje ciklusa sa nepoznatim brojem ponavljanja.
Format naredbe je:
--------------------------------------------------------------------------------------------------------------------------
Sintaxa:
while (uvjet)
{
naredbe;
}
npr:
broj=1;
while (broj<5)
{
broj=broj+1; // proizvoljna naredba
}
--------------------------------------------------------------------------------------------------------------------------
U ovom primjeru broj je manji od 5 i ova petlja ce se izvršiti, tako da će se povećati za 1.
Slijedeći put će broj biti jednako 2 pa ce se petlja opet izvrsiti. Da bi se ,onda kada broj dobije vrijednost 5, petlja
preskočila tj. ne bi se izvršila i izvršio bi se ostatak koda, jer se nije ispunio uvjet koji glasi da broj mora da bude manji od 5.
--------------------------------------------------------------------------------------------------------------------------
#include<iostream.h>
int main ()
{
int broj=1;
while (broj<5)
{
broj=broj+1; //ovo se moze napisati i broj+=1;
}
cout<<"Ovo je broj: "<<broj<<endl;
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
------------------------------Naredba for---------------------------
Kod while petlje smo imali da inicijlizaciju, uvjet i promjenu vrijednosti imamo na više razlicitih mjesta, dok je kod for petlje to sve sadržano u jednom redu koda tj. izmedu malih zagrada.
Format naredbe:
for (inicijalizacija; uvjet; promjena vrijednosti) naredba;.
ili korištenjem blokova:
for (inicijalizacija; uvjet; promjena vrijednosti) {
naredbe;
}
--------------------------------------------------------------------------------------------------------------------------
Uvjet mora biti logicki izraz, dok inicijalizacija i promjena vrijednosti mogu biti bilo kakvi izrazi. Petlja ce se izvršavati dok je uvjet tocan.
Npr:
--------------------------------------------------------------------------------------------------------------------------
//Brojac unatrag
#include <iostream.h>
int main ()
{
for (int i=10; i>0; i--) {
cout << i << ", ";
}
cout << "PALI!";
return 0;
}
--------------------------------------------------------------------------------------------------------------------------
Rezultat ovog programa:
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, PALI!
Ukoliko dodamo na kraju ovog dijela koda “<<endl;”
cout << i << ", "<<endl;
Što ce znaciti da poslije svakog ispisa kursor šalje u novi red.
Nakon ovog rezultat ce biti:
10,
9,
8,
7,
6,
5,
4,
3,
2,
1,
PALI!
--------------------------------------------------------------------------------------------------
----ZELIM DA NAPOMENEM DA JA OWO NISAM PISAO, NEGO SAM PREUZEO SA DRUGOG SAJTA, ALI OWAJ TUTORIJAL MI SE MNOGO SWIDEO JER JE SWE LEPO OBJASNJENO, A NADAM SE DA CE TO I WAMA TAKO IZGLEDATI...
:)))) HACKING BY Ch0dA