Programiranje Za Pocetnikek-1

Embed Size (px)

Citation preview

  • 7/21/2019 Programiranje Za Pocetnikek-1

    1/306PRO - MIL

    C++ programiranje za apsolutne poetnike

    programiranje

    za apsolutne poetnike

  • 7/21/2019 Programiranje Za Pocetnikek-1

    2/306PRO - MIL2

    Naslov knjige: C++ programiranje za apsolutne poetnike

    Autor: Jakopec Ratko, ing

    Naklada: PRO-MIL d.o.o.za nakladu, informatiku i edukaciju, Varadin,R. Bokovia 20, 42000 Varadin, tel: 042 / 203 981, 233 971,

    fax: 042 / 203 991, www.pro-mil.hrUrednik: Nenad Milija, dipl. inf.

    Lektura: Ruica Greguri, dipl. uitelj

    Korektura: PRO-MIL d.o.o.

    Recenzija: Igor Kos, dipl. inf.

    Naslovnica: Ratko Jakopec, ing., Nenad Milija, dipl. inf.

    Tiskara: Tiskara Varteks, Varadin

    ISBN: 953-7156-19-2

    Copyright: PRO-MIL d.o.o.za nakladu, informatiku i edukaciju, Varadin

    Sva prava pridrana. Nije dozvoljeno kopirati ili reproducirati ni jedan dio knjige u bilo kojem obliku bezprethodne pismene dozvole nakladnika.

    Sve o emu smo pisali u ovoj knjizi, uspjeno je primijenjeno na raunalima, stoga ne snosimo nikakvuodgovornost za eventualnu tetu koja bi se mogla povezati s uputama iz knjige.

    U ovoj knjizi objanjen je program Dev C++, autora: Colin Laplace, Mike Berg, Hongli Lai. Program senalazi na priloenom CD-u, slobodan je za objavljivanje i umnoavanje.

    Pojmovi za koje se zna da su zatitni znakovi napisani su poetnim velikim slovom. Nakladnik ne moeprovjeriti tonost niti eli utjecati na vjerodostojnost zatitnih znakova.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    3/306

    C++ programiranje za apsolutne poetnike

    Sad

    raj

    PRO - MIL 3

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

  • 7/21/2019 Programiranje Za Pocetnikek-1

    4/3064

    Sadraj

    PRO - MIL

    Uvod 7

    to je to program, a to programiranje? 8

    Je li teko nauiti programirati? 8Zato ba C++? 9

    Zato ba Dev-C++? 10

    Kako se ui programiranje? 10

    Kako dalje nakon ove knjige? 10

    Instaliranje Dev-C++ programskog okruenja 12Formiranje radne mape 20

    Instalacija grafike 22

    Na prvi program 25

    Formiranje projekta 26

    Mogui problem 32

    Pokretanje programa 34

    Greka u programu 38

    Analiza programa 40

    Gruba skica programa 42

    Varijacije programa 43

    Distribucija programa 47

    Uitavanje spremljenog projekta 49

    Varijable 53

    Osnovne raunske operacije 5458Varijable

  • 7/21/2019 Programiranje Za Pocetnikek-1

    5/306

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Generator sluajnih brojeva

    Analiza programa

    Varijacije programa 63

    Problem dijeljenja

    60

    Uljepavanje programa 69

    Nekoliko primjera programa 71

    67

    Grafika 75

    Podeavanje programskog okruenja 76

    Na prvi grafiki program 77Analiza programa 78

    Varijacije programa 83

    Crtanje pravokutnika 86

    Crtanje crte 88

    Crtanje toke 95

    Ispis teksta 97

    Donoenje odluke 103

    Funkcije 104

    Donoenje odluke 108

    Switch naredba 126

    Petlje 129

    For petlja 130

    Do while petlja 168

    170179Koritenje sluajnih brojeva

  • 7/21/2019 Programiranje Za Pocetnikek-1

    6/306PRO - MIL

    Sadraj

    6

    Polja 183

    Jednodimenzionalna polja 184

    Spremanje brojeva u datoteku 204Dvodimenzionalna polja 212

    Obrada teksta 215

    String objekti 216

    Polje char tipa 223

    Obrada string objekata 234Premjetanje teksta iz char polja u string 246

    Premjetanje teksta iz stringa u char polje 247

    Spremanje teksta u datoteku 248

    Objekti 251

    Jednostavan primjer klase i objekata 252

    Sloeniji primjeri klasa i objekata 262

    Komunikacija s metodama 265

    Razdvajanje deklaracije i definicije 276

    Uporaba konstruktora 278

    Nasljeivanje 280

    Veliki program 283

    Jednostavna igra u jednoj datoteci 284

    Jednostavna igra u vie datoteka 288

    Saimanje koda 301302Primjeri saetog pisanja koda

  • 7/21/2019 Programiranje Za Pocetnikek-1

    7/306

    C++ programiranje za apsolutne poetnike

    Uvod

    PRO - MIL 7

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

  • 7/21/2019 Programiranje Za Pocetnikek-1

    8/3068

    Uvod

    PRO - MIL

    to je to program, a to programiranje?

    Je li teko nauiti programirati?

    Program je niz uputa raunalu o tome kako da napravi odreeni posao. Posaomoe bit voenje skladita, izraun plae radnicima ili pretvaranje slike u boji ucrno bijelu sliku. Programiranje je pisanje tih uputa. Za pisanje uputa odnosnoprograma koriste se odreene naredbe. Skup naredbi koje ine cjelinu naziva seprogramski jezik.

    Budui da su naredbe pisane naim jezikom, a raunalo razumije samo nule ijedinice, program se nakon pisanja mora prevesti u oblik razumljiv raunalu. Tajpostupak se naziva prevoenje. Na engleskom jeziku naziva se Compile. Hrvats-ki programeri taj postupak obino nazivaju kompajliranje. U programu koji emomi koristiti, postupak prevoenja naredbi u oblik razumljiv raunalu naziva sekompajlaj, a ovoj knjizi koristit emo izraz prevoenje.

    Da bismo uspjeno programirali, oigledno je da nam treba program u kojem e-mo program pisati i program koji e napisani program prevesti u oblik razumljivraunalu. U dananje vrijeme sve te funkcije, a i mnoge dodatne objedinjene su u

    jedan program koji emo u ovoj knjizi nazivati programska okolina. On e namomoguiti pisanje programa, prevoenje programa u oblik razumljiv raunalu,traenje greaka i pokretanje programa. Postoji cijeli niz takvih programa, a miemo koristiti Dev-C++.

    Da, teko je. Ako mislimo da emo uzeti nekakav programski jezik i da emo zapar dana pisati programe, kao to moemo uzeti FrontPage pa za par dana napra-viti WEB stranicu, od toga nee biti nita.

    Neki, ako ne i veina profesionalnih uitelja programiranja, zapoet e poduku ne-kakvim algoritmima i time kako je to sve jednostavno jer mi ionako mnoge stvariradimo po algoritmu. Npr. ako kuhamo kavu, prvo stavljamo vodu u posudu, zatimekamo da zavri, pa onda stavljamo ... da sad ne kompliciramo, mi smo i do sadastvari radili po nekakvom algoritmu, a programiranje je neto slino.

    To su gluposti. Moda i jesmo do sada stvari radili po odreenom algoritmu, alinismo o tome na taj nain razmiljali, nemamo um posloen na taj nain. Osim to-ga u programiranju se upotrebljavaju malo drugaiji algoritmi nego to su algoritmiza kuhanje kave.

    Programiranje je zapravo potpuno drugaiji nain razmiljanja od onog na koji smodo sada navikli i trebat e godine rada da ponemo razmiljati na taj nain. Cijeliproblem dodatno komplicira injenica da su dananja raunala vrlo sloeni sustavi i

    treba nam puno vremena da barem priblino ponemo shvaati kako raunala fun-kcioniraju.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    9/3069

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Zbog svega toga trebat e nam dvije do tri godine svakodnevnog rada da bismokoliko - toliko nauili programirati. Pod pojmom nauiti programirati ne mislim nadobivanje dvojke u koli ili pisanje programa za zbrajanje dva broja. Pod poj-mom nauiti programirati mislim na to da smo u stanju napisati program koji za-dovoljava neije potrebe i taj netko nam je spreman za to platiti. Nema puno

    smisla rei da znam programirati, ali ne znam napraviti nita za to bi netko biospreman platiti.

    Zbog svega toga vano je da smo radini i strpljivi. Nemojmo iz injenice da prvatri mjeseca neemo puno toga razumjeti, zakljuiti da nismo nadareni za progra-miranje i odustati. Nakon tri mjeseca neemo puno toga razumjeti, ali nakon trigodine sasvim sigurno hoemo.

    Ovim uvodom vas nisam htio preplaiti, vesam vas htio ohrabriti da ustrajete uuenju programiranja, iako e vam se na poetku moda initi da nita ne razu-

    mijete i da sporo napredujete.

    Zato ba C++?

    Zato to je to trenutno najraireniji jezik, osobito u profesionalnoj uporabi. U ra-unalstvu se klonite ekskluzivnosti. Ako vas veseli da budete posebni, obrijteglavu ili obojite kosu na zeleno. Imate bezbroj mogunosti, ali kad su raunala upitanju, najbolje je koristiti raunalo koje koristi veina i programski jezik koji ko-

    risti veina.

    U tom sluaju lako dolazimo do programa, lako dolazimo do literature, puno ljudise razumije u to pa moemo dobiti savjet. Konano, ako traimo posao u smisluda programerska ekipa treba jo jednoga (jednu), vea je vjerojatnost da oni vekoriste sustav s kojim znamo raditi.

    Bjeite od genijalnih raunala, revolucionarnih sustava i drugaijih razmiljanja.Zamislite koliko je ugodno ivjeti u malom gradu i biti jedini vlasnik takvog geni-

    jalnog sustava. Nema literature, nema programa, nema savjeta i kad konano

    savladamo rad u takvom sustavu nitko nas ne treba jer svi rade na nekim drugimsustavima.

    Iako po mom sudu C++ ima niz prednosti u odnosu na druge jezike, nemojmo sesuvie optereivati time koji emo jezik zapoeti uiti i koju inaicu tog jezika.Glavni problem je nauiti jedan jezik, a kad nam to uspije, ako se ukae potreba,lako emo prijei na drugi. Da bi netko tko nikad nije programirao nauio jedan

    jezik, treba mu do tri godine, ali kad ve jedan jezik nauimo, da bismo nauilidrugi, dovoljno nam je do tri mjeseca. Nauivi jedan jezik, poinjemo razumije-vati kako se programira, a to je najtee i najdulje traje. Najlake je nauiti nove

    naredbe ili bolje reeno novi na

    in pisanja sli

    nih naredbi u drugom jeziku.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    10/30610

    Uvod

    PRO - MIL

    Zato ba Dev-C++?

    Programsko okruenje koje emo koristiti za pisanje naih programa naziva seDev-C++. Zato sam odabrao upravo ovo okruenje? Zato to je besplatno, ugod-nog izgleda, na hrvatskom jeziku i malih dimenzija. Zbog toga to je malih dimenzi-

    ja, zadovoljavajue e raditi i na starijim raunalima, a nove inaice mogue je uprihvatljivom vremenu uitati s interneta i pomou spore internetske veze.

    Iako je taj program relativno malih dimenzija, posjeduje sve osobine koje su potre-bne za uenje programiranja, a mogao bi posluiti i za manje sloeno profesional-no programiranje.

    Kako se ui programiranje?

    Programiranje se ne ui tako da se naui sadraj neke knjige, a zatim se eventual-no neto radi na raunalu. Programiranje se ui tako da se ukljui raunalo, otvoriknjiga, ita sadraj knjige i istovremeno prikazano u knjizi nastojimo napraviti naraunalu.

    Nakon to smo odreenu naredbu shvatili, nismo zavrili s uenjem. Nakon togatreba napraviti nekoliko desetaka manjih programa u kojima emo tu naredbu kori-stiti da bismo stekli rutinu u njenom koritenju.

    Kako dalje nakon ove knjige?

    Ova knjiga nije zamiljena kao knjiga iz koje emo saznati sve tajne programiranja,nego kao knjiga koja bi ljudima koji nikad nisu programirali i nita o tome na znajutrebala pomoi da zaponu uenje programiranja.

    Postoje velike i debele knjige s puno sitnog teksta koje na 1000 stranica objanja-vaju sve tajne pojedinih programskih jezika. Takve knjige su korisne i nabavite ihako vam se ukae prilika, ali takve knjige nisu pogodne za poetnike. Zbog mno-tva detalja i turih opisa, poetnik e se u njima jako teko snai.

    Nakon to prouite ovu knjigu, imat ete dovoljno predznanja da moete pratiti knji-ge koje detaljno govore o programskom jeziku C++. (Ili nekom drugom program-skom jeziku.)

    Kakve knjige biste trebali nabaviti i s ime biste se trebali baviti nakon to prouiteovu knjigu i elite dalje napredovati?

    - Svakako neku knjigu koja na barem 800 stanica detaljno opisuje programski jezik

    koji elite nauiti.

    - Budete li odluili koristiti neko sloenije programsko okruenje za pisanje progra-

  • 7/21/2019 Programiranje Za Pocetnikek-1

    11/30611

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    ma, prouite upute za njegovo koritenje. Naravno, te upute ne moraju biti u ob-liku tiskane knjige. Najee e biti u obliku teksta na raunalu.

    - Programi rade unutar nekog operacijskog sustava, najee Windowsa iliLinuxa. Da bi mogli pisati programe za pojedine operacijske sustave, moramo

    razumjeti kako ti sustavi funkcioniraju pa emo morati nabaviti knjigu koja govorio strukturi operacijskog sustava za koji elimo pisati programe.

    - Dobro je nabaviti i knjige koje govore openito o programiranju i o nainimarjeavanja pojedinih programskih problema. elimo li napisati program koji sorti-ra odreenu grupu podataka na odreeni nain, ne moramo ga izmiljati. Drugiljudi prije nas susreli su se s problemom sortiranja i o tom problemu napisali knji-ge u kojima iznose optimalna rjeenja za pojedine probleme.

    - S vremenom emo se specijalizirati za pojedine teme, npr. za pisanje igara, za

    grafiku, za obradu zvuka ili neto slino, pa je dobro nabaviti knjigu koja govori otoj problematici.

    Dakle, kad se detaljno upoznamo s nekim programskim jezikom, kad upoznamoodreeni operacijski sustav, kad se upoznamo s programerskim tehnikama i od-reenim programerskim podrujem, tek emo onda biti sposobni pisati kvalitetnekomercijalne programe, odnosno programirati za novce.

    Zbog toga sam na poetku rekao da nam treba dvije do tri godine da nauimoprogramirati.

    U ovom trenutku to vam moda zvui obeshrabrujue, ali ako sve to savladate,stei ete vjetinu kojom ne vlada ba svatko i koja ima svoju trinu cijenu.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    12/30612

    Uvod

    PRO - MIL

    Na CD-u priloenom uz knjigu

    nalazi se program Dev-C++.Ovaj izbornik trebao bi se po-krenuti nakon umetanja CD-au raunalo. Ako se to ne do-godi, pokrenite ga sami dvos-trukim klikom na program me-ni.exe koji se nalazi na CD-ju.

    Instalaciju pokreemo klikomna Program.

    Instaliranje Dev-C++ programskog okruenja

    Nakon klika na Program zapoet e instaliranje Dev-C++ programa. Programe nas prvo upozoriti da ne smijemo instalirati program, ako je program vein-staliran. Ako zbog nekog razloga instalaciju elimo ponoviti, moramo deinstalira-ti stari program, a tek nakon toga moemo ga ponovo instalirati.

    Ako je Dev-C++ program veinstaliran, zaustavit emo pos-tupak instalacije i deinstalirati staru inaicu programa.

    Ako Dev-C++ nije instaliran na naem raunalu, klikom na Uredu nastavljamo instalaciju.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    13/30613

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    2 - Klikom na OK nastavljamoinstalaciju.

    1- Izaberemo jezik.

    Klikom na Prihvaam izjavlju-jemo sa se slaemo s uvjetima

    koritenja programa.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    14/30614

    Uvod

    PRO - MIL

    Ovdje bismo mogli izabrati komponentekoje emo instalirati. Mi neemo nitamijenjati. Samo kliknemo na Dalje.

    1 - Ovdje moemo izabrati ma-pu u koju e se instalirati Dev-C++.

    2- Instaliranje nastavljamo

    klikom na Instaliraj.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    15/30615

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Nakon klika na Instaliraj zapoete instaliranje programa.

    Kliknemo na Da.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    16/30616

    Uvod

    PRO - MIL

    Kliknemo na Kraj.

    Kliknemo na U redu.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    17/30617

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    1 - Izaberemohrvatski jezik.

    2- Izaberemo Use XPTheme.

    3- Klik na Next.

    Klik na Next.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    18/30618

    Uvod

    PRO - MIL

    Klik na Next.

    Nakon klika na Next zapoet e instaliranje nekih do-datnih funkcija. Na sporijim raunalima taj proces moetrajati i do pola sata, a na brima nekoliko minuta.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    19/30619

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Na kraju klik na OK.

    Klikom ovdje ugasimo ovaj prozor.Time je instaliranje Dev-C++ progra-ma zavreno.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    20/30620

    Uvod

    PRO - MIL

    Formiranje radne mape

    Iako to nije nuno, dobro je formirati praznumapu u koju emo spremati programe.

    Tu mapu moemo otvoriti na bilo kojemdisku na kojem imamo mjesta i moemo jenazvati prema vlastitom izboru.

    Ja u na C: disku otvoriti mapu koju u na-zvati Radni.

    Klik na disk na kojem elimo otvoriti novumapu, u mojem sluaju na C: disk.

    Kliknemo na Datoteka, zatim na Novoi konano na Mapa.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    21/30621

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Unesemo naziv mape, umojem sluaju Radni.

    Ako je sve u redu, na C: disku trebala bi

    biti formirana mapa pod nazivom Radni.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    22/30622

    Uvod

    PRO - MIL

    Instalacija grafike

    Da bi Dev-C++ mogao koristiti naredbe za rad s grafikom,runo moramo dodati nekoliko datoteka.

    Nakon instaliranja programa

    Dev-C++, na disku C: u ma-

    pi Dev-Cpp nalazit e se

    mapa include i mapa lib.

    Na CD-u priloenom uz knji-

    gu u mapi Grafika nalazi se

    mapa include i mapa lib.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    23/30623

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Sadraj mape include na CD-u

    kopiramo u mapu include na C:

    disku.

    Sadraj mape lib na CD-u kopira-

    mo u mapu lib na C: disku.

    Bude li potekoa s instaliranjem progra-ma, pogledajmo filmove na kojima moe-mo vidjeti cijeli tijek instalacije, a nalazese na priloenom CD-u.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    24/306PRO - MIL24

    Na prvi program

  • 7/21/2019 Programiranje Za Pocetnikek-1

    25/306

    C++ programiranje za apsolutne poetnike

    N

    aprvi

    program

    PRO - MIL 25

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

  • 7/21/2019 Programiranje Za Pocetnikek-1

    26/30626

    Na prvi program

    PRO - MIL

    Formiranje projekta

    Kliknemo ovdje da bismougasili taj prozor.

    Prilikom svakog pokretanjaprograma pojavit e se pro-zor sa sugestijama koje enam olakati koritenje prog-rama.

    Program je dio vee cjeline kojase naziva projekt. Zbog togaemo pisanje programa zapo-eti formiranjem novog projek-ta.

    Pogledajmo kako emo formira-

    ti novi projekt.

    1- Kliknemo na Datoteka.

    2- Izaberemo Nova.

    3 - Izaberemo Projekt.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    27/30627

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Otvorit e se novi prozor koji se naziva Novi projekti u kojem emo izab-rati tip projekta. Najvaniji tipovi su Windows Applicationi Console Ap-

    plication.

    U emu je razlika?

    Windows Application izvodi se unutar klasinog windows prozora. Pre-dnost ovog naina pisanja jest to emo dobiti program koji e izgledatikao svaki drugi windows program. Nedostatak mu je to je ovaj nain pisa-nja programa neto sloeniji, pa je manje prikladan za poetnike.

    Console Application ne izvodi se unutar klasinog windows prozora,veunutar pojednostavljene verzije s crnom pozadinom. Nedostatak ovognaina pisanja programa jest to je program veoma ruan i to taj oblik

    prozora ima manje mogunosti od klasinog prozora. Jedina prednost muje to je jednostavan, pa je prikladniji za poetnike.

    2- Zatim Console Application.

    3 - Ovdje unosimo naziv pro-jekta. Na poetku moemoostaviti naziv koje je predloiloraunalo, a to je Projekt1.

    4- Ovdje odredimo dae na projekt sadra-vati C++program.

    5- Biranje zavravamoklikom na OK.

    1- Izaberemo Basic.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    28/30628

    Na prvi program

    PRO - MIL

    Sada emo izabrati mapu u

    kojuemo spremiti na pro-jekt.

    Najbolje je da ga spremimou prije pripremljenu praznumapu.

    Kliknemo ovdje.

    2- Kliknemo na Spremi.

    1 - Izaberemo disk na koji emospremiti na projekt u prije prip-remljenu praznu mapu.

    U mojem sluaju to je disk C.Kliknemo na njega.

    (Na mojem raunalu disk C nazi-va se Podaci. Na vaem rauna-lu moe imati drugaije naziv.Naziv diska nije vaan, vano je

    da izaberemo onaj disk na kojemsmo prije toga pripremili prazniprostor, kao to je opisano u uvo-dnom poglavlju ove knjige.)

  • 7/21/2019 Programiranje Za Pocetnikek-1

    29/30629

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    1 - Ovdje bi se trebala nalaziti oznaka diska na kojemsmo pripremili prazni prostor za smjetaj naeg projekta.

    2- Sadraj ovog prozo-ra na vaem raunalubit e sasvim sigurnodrugaiji nego na mo-

    jem, budui da njegovsadraj ovisi o progra-mima koji su instaliraniu raunalu i nainu ko-ritenja raunala. Ne-mojte brinuti zbog toga.

    3 - Pronai emo mapu Radni i kliknuti nanju. (Ako mapu Radni niste do sada formira-li, formirajte je prema uputama danim u uvo-dnom poglavlju.

    4- Klik na Otvori.

    1- Ovdje bi se trebao nalaziti naziv prostora u koji emospremiti na C++ projekt.

    2- Klik na Spremi.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    30/30630

    Na prvi program

    PRO - MIL

    Raunalo e automatskigenerirati jednostavanC++ program i time je

    otvaranje projekta zavr-eno.

    U programu bismo se lake snalazili kad bise ispred svakog reda u programu nalaziobroj reda. Pogledajmo kako emo ukljuiti tumogunost.

    1- Kliknemo na Alati.

    2- Kliknemo na Izgled editora.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    31/30631

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    1 - Kliknemo na karticuPrikaz.

    2- Kliknemo na kvadratiispredopcije Brojevi linije.

    3- Kliknemo na OK.

    Vidimo da se sada is-pred svakog reda u pro-gramu automatski ispi-suje broj reda.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    32/30632

    Na prvi program

    PRO - MIL

    Mogui problem

    Prilikom isprobavanja programa moe nam sedogoditi da pokuamo u prostor za spremanjeprojekta spremiti novi projekt, iako projekt podtim nazivom ve postoji u tom prostoru. Uistom prostoru ne moe biti vie projekta sistim imenom.

    U tom sluaju, ako elim zadrati stari projekt,novom projektu moramo dati neki drugi naziv,

    npr. Projekt2.dev.

    1- Ovo je prije spremljeni projekt.

    2- Ovo je novi projekt. Ako elimo zadrati stari,moramo mu promijeniti naziv. Ako stari projektne elimo zadrati, ostavimo postojei naziv.

    3- Klik na Spremi.

    1 - Ako novi projektima isti naziv kao istari jer stari projektne elimo zadrati,

    raunalo

    e nas upo-zoriti da e stari pro-

    jekt biti obrisan.

    2 - Klik na Yes i novi projekt bit eformiran, a stari obrisan.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    33/30633

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Unos prvog programa

    Umjesto programakoji je generiraloraunalo prilikomotvaranja novogprojekta, unesemoovakav program.

    To emo uiniti pa-ljivo jer i najmanja

    greka moe prouz-rokovati greku uprogramu.

    #include #include

    using namespace std;

    int main()

    { cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    34/30634

    Na prvi program

    PRO - MIL

    Pokretanje programa

    Vesmo rekli da raunalo razumije samo nule i jedinice. Svi sadraji, muzika,filmovi, slike itd. moraju biti prevedeni u nule i jedinice da bi ih raunalo ra-

    zumjelo. Tako je i s programom.

    Da bi raunalo razumjelo na program, najprije ga iz oblika koji smo upravonapisali moramo prevesti u nule i jedinice, a tek nakon toga moemo nareditiraunalu da ga pokrene. Taj postupak prevoenja na engleskom se jezikunaziva Compile, a prevoditelj naeg C++ programskog okruenja preveo je tosa Kompajlaj. Mi emo u naoj knjizi za taj postupak koristiti izraz prevoe-nje.

    U naem programskom okruenju imamo tri vane naredbe vezane uz pre-

    voenje i pokretanje programa.

    Ovo je prevedeno kao Kompajlaj. Izaberemo li ovu opciju, na programe se prevesti u oblik razumljiv raunalu, ali se nee pokrenuti. elite litako prevedeni program pokrenuti, morate izabrati opciju Pokreni.

    Ovo je prevedeno kao Pokreni. Ovu opciju moe-mo koristiti samo ako smo program ve preveli ielimo ga jo jednom pokrenuti.

    Ovo je prevedeno kao Kompajlaj i pokreni. Veiz

    naziva vidimo da je ovdje prevoenje i pokretanjeobjedinjeno.

    Izaberemo li ovu opciju, na program e se preves-ti i odmah pokrenuti.

    Prvi put emo odabrati ovu opciju.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    35/30635

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Mjesto na koje e raunalo spremiti na

    program.

    3 - Prevoenje i pokretanje naeg prog-rama zapoet emo klikom na Spremi.

    2- Otvara se prozor u kojem nas raunalo pita kamo ipod kojim nazivom emo spremiti na program.

    Raunalo e predloiti da to bude ono isto mjesto ukoje smo spremili projekt to emo mi prihvatiti.

    1- Klikom na Kompajlaj i pokrenizapoet emo prevoenje ipokretanje naeg programa.

    Ovdje se nalazi naziv naeg programa,main.cpp. Iako bismo taj naziv moglipromijeniti, na poetku je najbolje da za-drimo naziv koji je predloilo raunalo.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    36/30636

    Na prvi program

    PRO - MIL

    Nakon klika na Kompajlaj i pokreni najpri-je e se otvoriti prozor u kojem emo moipratiti tijek prevoenja naeg programa unule i jedinice razumljive raunalu.

    Nakon prevoenja prog-ram e se pokrenuti unu-tar ovakvog prozora. Ovajna program ispisuje tekstOvo je moj tekst.

    Tekst Press any key tocontinue raunalo je ge-

    neriralo automatski i njimenas obavjetava da jedovoljno pritisnuti bilo ko-

    ju tipku na tipkovnici i pro-zor u kojem se izvrio naprogram e se zatvoriti.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    37/30637

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Mogui problemTijekom rada moe nam se dogoditi da nam

    raunalo predloi neki naziv programa, iako ve

    u tom prostoru postoji program s istim nazivom.

    U tom sluaju, ako elimo zadrati stari prog-

    ram, novom emo dati neki drugi naziv npr.

    main2.cpp i kliknut emo na Spremi.

    Ako stari program ne elimo sauvati, ostavit

    emo novom programu naziv main.cpp i kliknut

    emo na Spremi.

    Ako ne elimo zadrati stari prog-ram, pa smo u prethodnom korakukliknuli na Spremi bez da smomijenjali novom programu naziv,raunalo e nas jo jednom upozo-riti da e stari program biti obrisan.

    1 - Kliknemo naYes. Stari program ese obrisati, novi e se spremiti, a zatime zapoeti prevoenje i pokretanjenovog programa. Tijek prevoenja ipokretanja programa moemo vidjetina prethodnoj stranici.

    main.cpp

  • 7/21/2019 Programiranje Za Pocetnikek-1

    38/30638

    Na prvi program

    PRO - MIL

    Greka u programuGotovo je nemogue unijeti program, a dase tijekom unosa ne pojavi greka.

    Pogledajmo to e se dogoditi ako pokua-

    mo pokrenuti program u kojem je dolo dogreke prilikom unosa.

    1 - Umjestotoke sa zare-zom unesemodvotoje.

    2- Kliknemo na Kompajlaj i pokreni.

    1- Kad raunalo naie nagreku, prevoenje prog-rama se zaustavlja i rau-nalo oznaava red u ko-

    jem je dolo do greke.

    2 - Istovremeno se otvaraprozor u kojem moemovidjeti dodatne informacijeo uoenoj greki.

    Ovdje moemo vidjeti su-gestiju da umjesto dvoto-

    ja treba staviti toku sazarezom.

    3- Uoenu greku uklonimo i ponov-

    no kliknemo na Kompajlaj i pokreni.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    39/30639

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Oznaavanje pozicije greke prili-no je nepouzdano budui da rau-

    nalo zapravo ne oznaava pozicijugreke, nego poziciju na kojoj jegreka primijeena. Pogledajmoovaj primjer.

    1 - Ovdje je dolo do greke jernismo unijeli toku sa zarezom.

    Kad takav program pokuamo prevesti i pok-

    renuti, kao pogrean bit e oznaen devetired, jer je u njemu greka primijeena, iakose greka zapravo nalazi u osmom redu.

    Zato imajmo na umu da je oznaavanje re-dova u kojim se pojavila greka samo grubaorijentacija, a ne precizni pokazatelj.

    1- Program pokreemo klikom naKompajlaj i pokreni.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    40/30640

    Na prvi program

    PRO - MIL

    Analiza programa

    #include #include Ove naredbe emo pisati na poetku sva-

    kog C++ programa. Zato? C++ organizi-ran je tako da su njegove naredbe organi-zirane u grupe ili, kako bi programeri rek-li, biblioteke i na poetku programa mora-mo rei raunalu koje biblioteke naredbinamjeravamo koristiti.

    #include - ovo je naredba kojom na po-etku programa obavjetavamo raunalokoje biblioteke naredbi elimo koristiti.

    iostream - skup naredbi koje nam omo-guuju komunikaciju s programom, npr.ako to ne bismo ukljuili, ne bi bio moguispis teksta Ovo je moj tekst. na ekran.

    cstdlib- biblioteka standardnih naredbi.

    using namespace std;

    Postoji mnotvo biblioteka naredbi. Moglobi se dogoditi da se u dvije razliite bibliote-ke nau dvije naredbe istog naziva, a razli-ite namjene.

    Ovom naredbom obavjetavamo prevodite-lja da emo koristiti standardne nazive na-redbi.

    int main()

    Naredba int main() oznaava da na ovommjestu poinje sam program. Ono to smopisali prije te naredbe ne smatra se progra-mom, nego uputama prevoditelju kako eprevesti program koji slijedi, npr. koje biblio-teke naredbi e koristiti prilikom prevoenja.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    41/30641

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    {

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    42/30642

    Na prvi program

    PRO - MIL

    Gruba skica programa

    Da bismo se lake snali u naem programu, podijelit emo ga na nekoliko veihcjelina.

    #include #include

    using namespace std;

    int main()

    {

    Ovo je poetak programa. Ove naredbepisat emo na poeku svakog naeg prog-rama. Kasnije emo ovdje dodati jo nekenaredbe.

    Iako smo objasnili emu slue pojedinenaredbe, trenutno nije bitno da tono poz-

    najemo znaenje svake od njih.

    Dovoljno je da znamo da te naredbe mora-mo napisati na poeku svakog naeg pro-grama i da ih tono napiemo.

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    43/30643

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Varijacije programa

    Jedna od najboljih metoda koje nam pomau da bolje razumijemo funkcionira-nje programa i pojedinih naredbi jest da u program unosimo manje izmjene, a

    zatim opaamo kakve posljedice e takve izmjene izazvati.

    #include #include

    using namespace std;

    int main()

    { cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    44/30644

    Na prvi program

    PRO - MIL

    #include #include

    using namespace std;

    int main(){

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    45/30645

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include

    using namespace std;

    int main(){

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    46/30646

    Na prvi program

    PRO - MIL

    Postavlja se pitanje ako s

  • 7/21/2019 Programiranje Za Pocetnikek-1

    47/30647

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include

    using namespace std;

    int main(){

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    48/30648

    Na prvi program

    PRO - MIL

    Distribucija programa

    Nakon to nae programersko remek djelo proradi, osjetit emo potrebu na

    program podijeliti s prijateljima ili ga staviti na internet. Postavlja se pitanjeto moramo uiniti da bi na program proradio i na prijateljevom raunalu.

    Prilikom prevoenja programa programsko okruenje iz naeg programa ge-nerira prevedeni program koji sadri sve elemente koji su mu potrebni da bise samostalno pokrenuo u windows programskom okruenju kao i svaki dru-gi windows program.

    A gdje se nalazi prevedena inaica naeg programa?

    Otvorimo Windows Explorer i u njemu otvorimo mapu u koju smo koristili tije-kom prevoenja programa. U naem sluaju to je Radnimapa na Cdisku.

    Datoteka s nastavkom exe sadrina preveden program koji moesamostalno raditi u windows okru-enju.

    Dovoljno je da tu datoteku poa-ljemo prijatelju koji e ju pokrenutidvostrukim klikom mia.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    49/30649

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Uitavanje spremljenog projekta

    Na projekt e se spremiti prili-kom prevoenja programa.

    Ako projekt elimo spremiti bezda smo program preveli, kliknemona ikonu Spremi.

    Ako pokuamo ugasiti prog-ramsko okruenje, a da nis-mo spremili program, rau-nalo e nas upozoriti.

    Klikom naYesspremit emona program.

    1- Kliknemo na Datoteka.

    2- Zatim na Ponovno otvori.

    3- Na ovom popisukliknemo na projektkoji elimo otvoriti.

    Spremljeni projekt moe-mo uitati u nae prog-ramsko okruenje na vienaina.

    Na najjednostavniji nainmoemo uitati nekoliko

    prethodnih spremanja.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    50/30650

    Na prvi program

    PRO - MIL

    1- Kliknemo na Datoteka.

    2 - Zatim na Otvori datotekuili projekt.

    elimo li u nae programsko okruenjeuitati program koji ne moemo uitati

    na nain koji smo vidjeli na prethodnojstranici, uitat emo ga na neto sloe-niji nain.

    1- Otvorit e se dodatni prozor u ko-jem emo izabrati mapu u kojoj senalazi projekt i naziv projekta.

    2 - Ovdje biramo mapu u kojojse nalazi projekt.

    3 - Kliknemo na projekt koji elimo uitati.Prepoznajemo ga po nastavku dev.

    4- Kliknemo na Otvori.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    51/30651

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Nakon to sespremljeni projektuitao, mogli bismo

    biti zbunjeni injeni-com da ga ne vidi-mo u prostoru ukojem smo oeki-vali da emo gavidjeti.

    Da bismo na program vidjeli, ovdje kliknemo nanaziv programa, u naem sluaju to je main.cpp.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    52/306PRO - MIL52

    Varijable

  • 7/21/2019 Programiranje Za Pocetnikek-1

    53/306

    C++ programiranje za apsolutne poetnike

    V

    arijable

    PRO - MIL 53

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

  • 7/21/2019 Programiranje Za Pocetnikek-1

    54/30654

    Varijable

    PRO - MIL

    #include #include

    using namespace std;

    int main(){

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    55/30655

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include

    using namespace std;

    int main(){

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    56/30656

    Varijable

    PRO - MIL

    Dok smo za zbrajanje i oduzimanje koristilioznake uobiajene u matematici, za mnoe-nje emo koristiti zvjezdicu. Nalazi se iznadbroja devet s desne strane, na brojanoj tip-

    kovnici.

    Mnoenje broja 2 i broja 3 zapisat emo kao2*3.

    Pogledamo rezultat.

    #include #include

    using namespace std;

    int main(){

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    57/30657

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include

    using namespace std;

    int main(){

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    58/30658

    Varijable

    PRO - MIL

    Varijable

    Vidjeli smo da osnovne raunske ope-racije, osim dijeljenja, funkcioniraju, aline ba na nain kako smo mi zamiljalida bi program trebao raditi.

    Problem naih dosadanjih programajest u tome to svaki program vri ra-unsku operaciju izmeu dva konkret-na broja i ako elimo izvriti raunskuoperaciju izmeu druga dva broja, pro-gram moramo iznova pisati i prevoditi.

    Postavlja se pitanje bismo li mogli napi-sati npr. program za zbrajanje koji ne bizbrajao dva konkretna broja, nego bimogao zbrojiti bilo koja dva broja.

    To je, naravno, mogue. Unesimo, pre-vedimo i pokrenimo ovaj program.

    #include

    #include

    using namespace std;

    int main(){

    int a;int b;int c;cin >> a;

    cin >> b;c = a + b;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    59/30659

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Na tipkovnici izaberemodrugi broj koji elimozbrajati, npr. broj 5 izatim pritisnemo Enter

    tipku na tipkovnici.

    Nakon pritiska naEnter tipku na tip-kovnici, a zaslonuraunala ugledatemo rezultat

    zbrajanja broja 3 ibroja 5, a to je broj8.

    Pokrenimo bez ikakvih izmjena isti prog-ram jo jednom, ali sada unesimo nekedruge brojeve, npr. broj 12 i broj 14.

    Na slian nain kao i uprethodnom primjeru,dakle tako da nakon sva-kog unosa broja pritisne-mo tipku Enterna tipkov-nici, unesimo brojeve 12 i14.

    Kao rezultat dobit emonjihov zbroj, a to je broj26.

    Vidimo da smo uspjelipostii ono to smo elje-li. Pomou jednog progra-ma moemo zbrajati razli-ite brojeve, bez da prog-ram moramo mijenjati.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    60/30660

    Varijable

    PRO - MIL

    Analiza programa

    #include #include

    using namespace std;

    int main(){

    int a;int b;

    int c;

    cin >> a;cin >> b;

    c = a + b;

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    61/30661

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    int a ;

    Ovom naredbom formiramo prostor u raunalu u koji emo spremati brojeve.

    Na poetku taj prostor moemo zamisliti kao posudice u koje moemo stavitibrojeve, iako su to zapravo rezervirana mjesta u memoriji naeg raunala.

    Naredba za formiranjeprostora.

    Ovdje se nalazi naziv prostora.

    Zato svaki prostor ima naziv???

    Zato to u jednom programu moe-mo imati vie takvih prostora, panam naziv prostora omoguuje da ihrazlikujemo.

    Oznaka ;obvezno dolazina kraju naredbe.

    int b;

    int c;

    Ovim naredbama se for-miraju jo dva prostora,prostor bi prostor c.

    cin >> a ;

    Nakon formiranja prostor za spremanje brojeva je prazan i bio bi nam sasvimbeskoristan kad u njega ne bismo mogli staviti neki broj.

    U taj prostor broj moemo staviti na vie naina, a jedan od njih je da ga une-semo pomou tipkovnice. Za to emo koristiti naredbu cin.

    Naredba za unos.

    Ova oznaka stavlja se

    ispred naziva prostora ukoji emo unijeti broj.

    Ovdje stavljamo oznaku prostora ukoji emo unijeti broj. Dakle, brojemo unijeti u prostor a i ne u neki

    drugi prostor, npr. bili c.

    Oznaka ;obvezno dolazina kraju naredbe.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    62/30662

    Varijable

    PRO - MIL

    Osim to u te prostore moemo spremati brojeve, izmeu njih moemo izvoditiraunske operacije na isti nain kao to smo ih izvodili izmeu brojeva.

    U naem sluaju zbrojit emo sadraj prostora ai sadraj prostora b, a rezultattog zbrajanja spremit emo u prostor c.

    cin >> b ; Naredba slina prethodnoj, samo to e se uovom sluaju unijeti broj spremiti u prostor b.

    c = a + b ;Prostor c u koji e-mo spremiti rezultat.

    Znak jednakosti imaistu funkciju kao i umatematici.

    Naziv prvog prostora. Naziv drugog prostora.

    Oznaka raunske ope-racije izmeu prostora.

    Oznaka ; obveznodolazi na kraju na-redbe.

    Nakon to se naredba c = a + b;izvri, u prostoru cnalazit e se rezultat zbra-janja sadraja prostora ai prostora b,ali da korisnik vidio rezultat moramo nare-diti raunalu da sadraj prostora c ispie na zaslon raunala. To emo uinitiovom naredbom.

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    63/30663

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Varijacije programa

    Da bismo bolje razumjeli izradu programa koji koriste prostor za spremanjebrojeva, napravit emo niz izmjena na naem programu i opaat emo kako te

    izmijene utjeu na rad program.

    #include #include

    using namespace std;

    int main(){

    int prvi;int drugi;int rezultat;cin >> prvi;cin >> drugi;rezultat = prvi + drugi;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    64/30664

    Varijable

    PRO - MIL

    #include #include

    using namespace std;

    int main(){

    int A;int B;int c;cin >> a;cin >> b;c = a + b;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    65/30665

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include

    using namespace

    std;int main(){

    int a;int b;int c;cin >> a;cin >> b;c = a + b;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    66/30666

    Varijable

    PRO - MIL

    #include #include

    using namespace std;

    int main(){

    int broj1;int broj2;int rezultat;cin >> broj1;cin >> broj2;rezultat = broj1 - broj2;cout broj1;cin >> broj2;rezultat = broj1 * broj2;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    67/30667

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Problem dijeljenja

    #include #include

    using namespace std;

    int main(){

    int broj1;int broj2;int rezultat;cin >> broj1;cin >> broj2;

    rezultat = broj1 / broj2;cout broj1;cin >> broj2;rezultat = broj1 / broj2;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    68/30668

    Varijable

    PRO - MIL

    float broj1 ;

    Ovo je jo jedan nain na koji moemo formirati prostor za spremanje brojeva.

    U emu je razlika izmeu prostora formiranog intnaredbom i prostora formira-nog floatnaredbom???

    U prostor formiran intnaredbom moemo spremati samo brojeve bez decimal-nog zareza, a u prostore formirane floatnaredbom moemo spremati brojeves decimalnim zarezom.

    Oznaka ; obveznodolazi na kraju na-

    redbe.

    Naredba za formi-ranje prostora zaspremanje brojevas decimalnim zare-zom.

    Naziv prostora. Uoimo da iz-meu broj i 1 nema razmaka.

    Postavlja se pitanje bismo li mogli u na program unijeti broj s decimalnim zare-zom. Pokrenimo jo jednom program iz prethodnog primjera i pokuajmo.

    Vidimo da je mogue unijetidecimalne brojeve u naprogram.

    Broj 16,25 podijelili smobrojem 2,5 i kao rezultatispravno dobili 6,5.

    Pri tome moramo imati uvidu da C++ kao decimalnizarez zapravo ne koristizarez, nego toku.

    Dakle, ako elimo unijetinpr. 3,14 unijet emo 3.14koritenjem tipkovnice.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    69/30669

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Uljepavanje programa

    Nai programi dodue rade, ali su tako runi da bi teko bili runiji. Korisnikadoeka crni ekran bez ikakvih uputa. Nakon to unesemo dva broja, dobit

    emo trei bez ikakvog komentara to taj trei broj predstavlja.

    Budui da smo mi napisali program, mi znamo da treba unijeti dva broja, danakon svakog unosa treba pritisnuti tipku Enter i mi znamo to predstavljatrei broj koji smo dobili kao rezultat, ali netko drugi veoma bi teko koristiona program. Unesite i pokrenite ovaj program.

    #include #include

    using namespace std;

    int main(){

    float broj1;float broj2;

    float rezultat;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    70/30670

    Varijable

    PRO - MIL

    Prethodni program mogli bismo jo malo uljepati dodavanjem praznih redova.Unesimo i pokrenimo ovaj program.

    #include #include

    using namespace std;

    int main(){

    float broj1;float broj2;float rezultat;

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    71/30671

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Nekoliko primjera programa

    // *********************************// Program za izraun povrine

    // *********************************

    #include #include

    using namespace std;

    int main(){

    float stranica_A;

    float stranica_B;float povrsina;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    72/30672

    Varijable

    PRO - MIL

    // ******************************// Program za izraun brzine// ******************************

    #include #include

    using namespace std;

    int main(){

    float put; // prostor za putfloat vrijeme; // prostor za vrijemefloat brzina; // prostor za brzinu

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    73/30673

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    // *********************************************// Program za izraun volumena kvadrata// *********************************************

    #include #include

    using namespace std;

    int main(){

    float stranica_A;float stranica_B;float stranica_C;

    float volumen;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    74/306PRO - MIL74

    Grafika

  • 7/21/2019 Programiranje Za Pocetnikek-1

    75/306

    C++ programiranje za apsolutne poetnike

    Grafika

    PRO - MIL 75

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

  • 7/21/2019 Programiranje Za Pocetnikek-1

    76/30676

    Grafika

    PRO - MIL

    Podeavanje programskog okruenja

    Da bi grafika funkcionirala,prilikom instalacije progra-ma moramo instalirati do-datke kojim programskomokruenju omoguuje pri-kaz grafike.

    Ako to nismo uinili, vrati-mo se na uvodno poglavljei instalirajmo potrebne do-datke.

    Nakon toga podesit emoprogramsko okruenje.

    1- Kliknemo na Projekt.

    2- Zatim na Postavke projekta.

    1- Kliknemo na Parametes.

    2- Ovdje unesemo -lbgi -lgdi32

    Kliknemo na Ok.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    77/30677

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Na prvi grafiki program

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);

    setcolor(BLACK);cleardevice();circle(320,240,180);getch();closegraph();return 0;

    }

    Unesimo i pokrenimo ovaj prog-ram. Uoimo da su poetak i kraj

    programa izmijenjeni.

    Na poetku dodan je ovaj red, ana kraju je izbaena naredba:system("PAUSE");

    Klikom na Kompajlaj i pokreni pokrenemoprogram.

    Otvorit e se dva prozora:

    - tekstualni koji smo do sada koristili

    - grafiki u kojem e raunalo nacrtati krug.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    78/30678

    Grafika

    PRO - MIL

    Analiza programa

    #include #include

    #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;

    initgraph(&gdriver, &gmode, "");

    setbkcolor(WHITE);

    setcolor(BLACK);

    cleardevice();

    circle(320,240,180);

    Poetak programa. Za razliku od dosa-danjih programa, u ovom smo korigi-rali poetak dodavi mu jo jednu na-redbu.

    Ovom naredbom u program ukljuuje-mo grafike naredbe.

    Ovdje odreujemo veliinu grafikogprozora i broj boja.

    Otvaranje grafikog prozora.

    Odreivanje boje pozadine.

    Odreivanje boje crte.

    Brie stari sadraj zaslona i stare pos-tavke boja. Pokuajmo pokrenuti prog-ram bez ove naredbe.

    Naredba za crtanje kruga.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    79/30679

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    getch();

    closegraph();

    return 0;}

    Ovom naredbom zaustavljamo izvoe-nje programa do trenutka dok ne priti-snemo neku tipku na tipkovnici. Imaistu namjenu kao i system(PAUSE)

    u normalnim programima.

    Da bismo bolje razumjeli ovu naredbu,izbacimo je iz programa i pokuajmopokrenuti program bez nje.

    Zatvaranje grafikog prozora.

    Kraj programa. Uoimo da ovdje vienema naredbe system(PAUSE); Njenufunkciju sada ima getch(); naredba.

    Pogledajmo sada poblie odreene naredbe. Ovom naredbom odreujemo tip

    grafikog prozora.

    int gdriver = 9 ; Ovaj broj moe biti izmeu 1 i10. Ako je 9, dobit emo VGAprozor ija maksimalna veliina

    moe biti 640 X 480 toaka i 16boja.

    Ako umjesto broja 9 stavimobroj 6, dobit emo IBM 8514prozor ija maksimalna veliinamoe biti 1024 X 768 toaka i256 boja.

    Upotrijebimo li druge brojeve,dobit emo manje prozore s ma-njim brojem boja.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    80/30680

    Grafika

    PRO - MIL

    Znaenje ovog broja ovisi o tipu grafikog pro-zora koji smo odabrali.

    Ako smo naredbom int gdriver = 9; odabraliVGA prozor, stavimo li ovdje broj 0, dobit emoprozor veliine 640 X 200 toaka. Stavimo li 1,dobit emo prozor veliine 640 X 350 toaka, astavimo li broj 2 koji smo mi odabrali, dobit e-

    mo prozor veliine 640 X 480 toaka.

    Ako smo naredbom int gdriver = 6 ; odabraliIBM 8514 prozor, stavimo li ovdje broj 0, dobitemo prozor veliine 640 X 480 toaka, a sta-vimo li broj 1, dobit emo prozor veliine 1024X 768 toaka.

    Nakon to smo naredbom int gdriver = 9; odabrali tip grafikog prozora, ovomnaredbom biramo rezoluciju grafikog prozora.

    int gmode = 2 ;

    setbkcolor( WHITE );

    Ovom naredbom odreuje se boja po-zadine. U naem sluaju bit e bijela.

    Ovdje unosimo naziv bo-je. Naziv boje moe biti:

    BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY,LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    81/30681

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Osim navoenja imena boja, boje moemo odrediti i navoenjem njihove broj-ane vrijednosti.

    setbkcolor(COLOR( 255, 255, 255 ));

    Crvena. Zelena.

    Plava.

    Dodat emo naredbu COLOR iza koje se nalaze tri broja ija vrijednost mo-e biti izmeu 0 i 255.

    Boje u raunalu sastoje se od tri boje; crvene, zelene i plave. Sve ostaleboje nastaju mijeanjem tih boja.

    Prvim brojem odreujemo intenzitet crvene boje, drugim intenzitet zelene i

    treim intenzitet plave boje.

    Naredbom setbkcolor(COLOR(255,255,255)); dobit emo bijelu boju, a na-redbom setbkcolor(COLOR(0,0,0)); dobit emo crnu boju.

    setcolor(BLACK);

    setcolor(COLOR (0,0,0));

    Ovom naredbom odreuje se boja kojom crtamo. Koristimo iste nazive bojakao i u prethodnoj naredbi.

    Kao i u prethodnoj naredbi,boje moemo odrediti navo-enjem njihovog naziva, amoemo i pomou brojeva

    upotrebom naredbe COLOR.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    82/30682

    Grafika

    PRO - MIL

    Ovo je naredba za crtanje kruga.

    circle( 320, 240, 180 ) ;

    480

    180

    320

    240

    640

    Udaljenost sredita odlijevog ruba prozora

    Udaljenost sredita odgornjeg ruba prozora

    Polumjer kruga.

    irina prozora,u naem slu-aju 640 toa-ka.

    Visina prozora, u naemsluaju 480 toaka.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    83/30683

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Varijacije programa

    #include #include

    #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);

    setcolor(BLACK);cleardevice();circle(320,240,220);circle(320,240,165);circle(320,240,110);circle(320,240,55);getch();closegraph();return 0;

    }

    Napravit emo nekoliko prim-jera da bismo lake razumjeli

    kako radi naredba za crtanjekruga.

    Ovaj program slian je pretho-dnom. Razlika je u tome to jeprethodni crtao samo jedankrug, a ovaj e nacrtati nekoli-ko krugova razliitog polumje-ra, ali sa sreditem u istoj to-ki.

    Ovdje se nalaze etiri nared-be za crtanje etiri kruga.

    Pokrenemo li ovaj program,trebali bismo dobiti ovakavrezultat.

    Pokuajmo program pro-mijeniti tako da poveamoili smanjimo broj krugova.

    Pokuajmo promijenitibrojeve koji odreuju po-lumjer kruga i poloaj sre-dita kruga.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    84/30684

    Grafika

    PRO - MIL

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    circle(160,140,80);circle(320,140,80);circle(480,140,80);getch();closegraph();return 0;

    }

    U ovom primjeru napravitemo tri jednaka kruga, je-dan pored drugoga, to emopostii promjenom udaljenos-

    ti sredita krugova od lijevogruba prozora.

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();circle (320, 60, 60);circle (320, 180, 60);circle (320, 300, 60);getch();closegraph();return 0;

    }

    Pogledajmo jo nekoliko mogunosti.U ovom sluaju promjenom udalje-nosti od gornjeg ruba prozora dobilismo tri kruga, jedan iznad drugoga.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    85/30685

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    circle (60, 60, 60);circle (180, 180, 60);circle (300, 300, 60);getch();closegraph();return 0;

    }

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;

    initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();circle(320,240,220);circle(220,140,50);circle(420,140,50);circle(320,240,30);getch();closegraph();

    return 0;}

  • 7/21/2019 Programiranje Za Pocetnikek-1

    86/30686

    Grafika

    PRO - MIL

    380

    480

    160

    100

    Crtanje pravokutnika

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);

    setcolor(BLACK);cleardevice();rectangle (160, 100, 480, 380);getch();closegraph();return 0;

    }

    Osim krunice moemo nacrtatii druge oblike, npr. pravokutnik.

    Ovdje u program unesemo na-redbu za crtanje pravokutnika,a na zaslonu raunala dobitemo ovakav rezultat.

    rectangle ( 160, 100, 480, 380 );

    480

    640

    Naredba za crtanjepravokutnika.

    Naredbom rectan-gle crtamo pravo-

    kutnik, a sa etiribroja koji se nala-ze iza naredberectangle odreu-

    jemo poloaj gor-njeg lijevog i do-njeg desnog uglapravokutnika.

    Funkciju pojedinih

    brojeva moemovidjeti na crteu.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    87/30687

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    rectangle (160, 100, 480, 380);rectangle (190, 130, 450, 350);rectangle (220, 160, 420, 320);rectangle (250, 190, 390, 290);getch();closegraph();return 0;

    }

    Meusobno moemo kombinirativie pravokutnika.

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;

    initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();circle (320, 240, 220);circle (220, 140, 50);circle (420, 140, 50);circle (320, 240, 30);rectangle (260, 342, 380, 338);getch();

    closegraph();return 0;}

    Pravokutnik moemo kombini-rati s drugim oblicima.

    Pokuajmo za vjebu sami iz-misliti nekoliko primjera, npr.deblo stabla nacrtamo kao pra-vokutnik, a kronju kao krug.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    88/30688

    Grafika

    PRO - MIL

    Crtanje crte

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);

    setcolor(BLACK);cleardevice();line (120, 100, 500, 380);getch();closegraph();return 0;

    }

    Crtu moemo nacrtati na vienaina, a uporaba naredbe line

    jedan je od njih.

    380

    500

    120

    100

    line ( 160, 100, 480, 380 );

    480

    640

    Naredba za crtanjecrte.

    Naredbom linecrtamo crtu, a saetiri broja koji senalaze iza nared-be line odreuje-mo poetak i krajcrte.

    Funkciju pojedinih

    brojeva moemovidjeti na crteu.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    89/30689

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    line (100, 240, 540, 240);line (320, 20, 320, 460);getch();closegraph();return 0;

    }

    Napravimo nekoliko crtea upo-rabom naredbe za crtanje crte.

    #include

    #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");

    setbkcolor(WHITE);setcolor(BLACK);cleardevice();circle (320, 240, 220);circle (320, 240, 165);circle (320, 240, 110);circle (320, 240, 55);line (100, 240, 540, 240);line (320, 20, 320, 460);getch();

    closegraph();return 0;}

  • 7/21/2019 Programiranje Za Pocetnikek-1

    90/30690

    Grafika

    PRO - MIL

    lineto ( 500, 380 );

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    moveto (120, 100);lineto (500, 380);getch();closegraph();return 0;

    }

    Osim uporabom naredbe line,crtu moemo nacrtati i upora-bom naredbi movetoi lineto.

    Naredbom moveto odreuje-mo poetak crte, a naredbomlinetoodreujemo kraj crte.

    380

    500

    120

    100

    moveto ( 120, 100 );

    480

    640

    Ovom naredbom odreujemopoetak crte.

    Ovom naredbom odre-ujemo kraj crte.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    91/30691

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();moveto(160, 240);lineto(160, 450);lineto(480, 450);lineto(480, 240);lineto(160, 240);lineto(320, 120);lineto(480, 240);getch();closegraph();return 0;

    }

    Ovaj nain crtanja pogodanje za crtanje vie crta u nep-rekinutom nizu.

    Pogledajmo ovaj primjer.

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();moveto(160, 240);lineto(160, 450);getch();closegraph();

    return 0;}

    Pogledajmo, korak po korak,kako je nastao ovaj crte.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    92/30692

    Grafika

    PRO - MIL

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();moveto(160, 240);lineto(160, 450);lineto(480, 450);getch();closegraph();return 0;

    }

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;

    initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();moveto(160, 240);lineto(160, 450);lineto(480, 450);lineto(480, 240);getch();closegraph();

    return 0;}

  • 7/21/2019 Programiranje Za Pocetnikek-1

    93/30693

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();moveto(160, 240);lineto(160, 450);lineto(480, 450);lineto(480, 240);lineto(160, 240);getch();closegraph();return 0;

    }#include #include

    #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);

    setcolor(BLACK);cleardevice();moveto(160, 240);lineto(160, 450);lineto(480, 450);lineto(480, 240);lineto(160, 240);lineto(320, 120);getch();closegraph();

    return 0;}

  • 7/21/2019 Programiranje Za Pocetnikek-1

    94/30694

    Grafika

    PRO - MIL

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();moveto(160, 240);lineto(160, 450);lineto(480, 450);lineto(480, 240);

    lineto(160, 240);lineto(320, 120);lineto(480, 240);rectangle(400, 320, 480, 450);rectangle(200, 260, 250, 340);rectangle(300, 260, 350, 340);circle (550, 90, 80);line (0, 450, 640, 450);getch();closegraph();return 0;

    }

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    moveto(160, 240);lineto(160, 450);lineto(480, 450);lineto(480, 240);lineto(160, 240);lineto(320, 120);lineto(480, 240);getch();closegraph();return 0;

    }

  • 7/21/2019 Programiranje Za Pocetnikek-1

    95/30695

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    380

    500

    Crtanje toke

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);

    setcolor(BLACK);cleardevice();circle (320, 240, 220);putpixel (320, 240, BLACK);getch();closegraph();return 0;

    }

    Ponekad nam je potrebna samojedna toka, kao u ovom primje-

    ru gdje smo tokom oznailisredite kruga.

    putpixel ( 320, 240, BLACK );

    480

    640Ovdje unosimo bojutoke koju odreuje-mo na isti nain kao iboju pozadine ili bojucrte.

    Naredba za crtanjetoke.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    96/30696

    Grafika

    PRO - MIL

    Ispis teksta

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);

    setcolor(BLACK);cleardevice();cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    97/30697

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    outtext ("Ovo je krug.");circle (320, 240, 220);getch();closegraph();return 0;

    }

    Upotrijebimo li ovu naredbu,

    tekst e se ispisati unutar

    grafikog prozora.

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();moveto (320, 240);outtext ("Ovo je krug.");circle (320, 240, 220);getch();closegraph();return 0;

    }

    Naredbu za odreivanje pozici-

    je poetka crte moemo iskori-

    stiti za odreivanje poetka

    teksta.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    98/30698

    Grafika

    PRO - MIL

    320

    240

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    outtextxy (320, 240, "Ovo je krug.");circle (320, 240, 220);getch();closegraph();return 0;

    }

    Naredba outtextxy objedi-njuje naredbu za odreivanjepozicije teksta i naredbu zaispis teksta.

    outtextxy ( 320, 240, "Ovo je krug." );

    480

    640

    Brojevima odreujemo

    poziciju ispisa.

    Ovo je krug.

    Unutar navodnika je

    tekst koji ispisujemo.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    99/30699

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    settextstyle (9, HORIZ_DIR, 1);outtextxy (320, 240, "Ovo je krug.");circle (320, 240, 220);getch();closegraph();return 0;

    }

    Naredbom settextstyle mo-

    emo mijenjati oblik i veliinu

    slova te smjer ispisa teksta.Stavljamo je prije naredbe za

    ispis teksta.

    settextstyle ( 9, HORIZ_DIR, 1 );

    Smjer teksta:

    HORIZ_DIR - vodoravni tekst.

    VERT_DIR - uspravni tekst od dolje prema gore.

    -VERT_DIR - uspravni tekst od gore prema dolje.

    Naredba za odreivanje veliine i oblika slova te smjera ispisa.

    Ovaj broj odreujeoblik slova. Njego-va vrijednost moebiti izmeu 0 i 10.

    Veliina slova.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    100/306100

    Grafika

    PRO - MIL

    Pogledajmo primjer prom-jene veliine slova.

    Pogledajmo primjer prom-jene smjera ispisa teksta.

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    circle (320, 240, 220);settextstyle(9, HORIZ_DIR, 1);outtextxy(320, 200, "Ovo je krug.");settextstyle(9, HORIZ_DIR, 2);outtextxy(320, 240, "Ovo je krug.");settextstyle(9, HORIZ_DIR, 3);outtextxy(320, 280, "Ovo je krug.");settextstyle(9, HORIZ_DIR, 4);outtextxy(320, 320, "Ovo je krug.");getch();

    closegraph();return 0;}

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);

    cleardevice();circle (320, 240, 220);settextstyle(9, HORIZ_DIR, 1);outtextxy(320, 240, "Ovo je krug.");settextstyle(9, VERT_DIR, 1);outtextxy(300, 240, "Ovo je krug.");settextstyle(9, -VERT_DIR, 1);outtextxy(500, 240, "Ovo je krug.");getch();closegraph();

    return 0;}

  • 7/21/2019 Programiranje Za Pocetnikek-1

    101/306101

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    int gdriver = 9;int gmode = 2;initgraph(&gdriver, &gmode, "");setbkcolor(WHITE);setcolor(BLACK);cleardevice();

    circle (320, 240, 220);settextstyle(0, HORIZ_DIR, 3);outtextxy(320, 40, "Ovo je krug.");settextstyle(1, HORIZ_DIR, 3);outtextxy(320, 80, "Ovo je krug.");settextstyle(2, HORIZ_DIR, 3);outtextxy(320, 120, "Ovo je krug.");settextstyle(3, HORIZ_DIR, 3);outtextxy(320, 160, "Ovo je krug.");settextstyle(4, HORIZ_DIR, 3);

    outtextxy(320, 200, "Ovo je krug.");settextstyle(5, HORIZ_DIR, 3);outtextxy(320, 240, "Ovo je krug.");settextstyle(6, HORIZ_DIR, 3);outtextxy(320, 280, "Ovo je krug.");settextstyle(7, HORIZ_DIR, 3);outtextxy(320, 320, "Ovo je krug.");settextstyle(8, HORIZ_DIR, 3);outtextxy(320, 360, "Ovo je krug.");settextstyle(9, HORIZ_DIR, 3);

    outtextxy(320, 400, "Ovo je krug.");settextstyle(10, HORIZ_DIR, 3);outtextxy(320, 440, "Ovo je krug.");getch();closegraph();return 0;

    }

    Pogledajmo primjer promjeneoblika slova.

  • 7/21/2019 Programiranje Za Pocetnikek-1

    102/306PRO - MIL102

    Donoenje odluke

  • 7/21/2019 Programiranje Za Pocetnikek-1

    103/306

    C++ programiranje za apsolutne poetnike

    Donoenjeodluk

    e

    PRO - MIL 103

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

  • 7/21/2019 Programiranje Za Pocetnikek-1

    104/306104

    Donoenje odluke

    PRO - MIL

    Funkcije

    #include #include #include

    using namespace std;

    int main(){

    float broj;float potencija;float rezultat;cout broj;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    105/306105

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    float kut;float rezultat;cout kut;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    106/306106

    Donoenje odluke

    PRO - MIL

    #include #include #include

    using namespace std;

    int main(){

    float broj;float rezultat;cout broj;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    107/306107

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    #include #include #include

    using namespace std;

    int main(){

    float broj;float rezultat;cout broj;

    cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    108/306108

    Donoenje odluke

    PRO - MIL

    Donoenje odluke

    #include #include #include

    using namespace std;

    int main(){

    float broj;float rezultat;cout broj;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    109/306109

    C++ programiranje za apsolutne poetnike

    PRO - MIL

    Sa

    iman

    je

    ko

    da

    Sa

    dra

    j

    Na

    prv

    i

    program

    Vari

    jable

    Gra

    fika

    Po

    lja

    Uvo

    d

    Dono

    en

    je

    odluke

    Petlje

    Objekti

    Obra

    da

    teks

    ta

    Ve

    likipro-

    gram

    i

    Naredbom if ispitujemoje li sadraj varijable ma-nji od nule.

    Ovaj dio programa izvo-di se samo akoje sadr-aj varijable broj manjiod nule.

    Naredbom elsezapoi-

    nje dio programa koji

    se izvodi samo ako

    sadraj varijable broj

    nije manji od nule.

    Uobiajeni kraj progra-

    ma. Izvodi se prilikomsvakogpokretanja prog-rama.

    Pogledajmo bitne dijelo-ve naeg programa.#include

    #include #include

    using namespace std;

    int main(){

    float broj;float rezultat;cout broj;cout

  • 7/21/2019 Programiranje Za Pocetnikek-1

    110/306110

    Donoenje odluke