C++ for Business Programmers John C. Molluzzo -  Pace University, New York

18
1/18 Uvod u programiranje II 2 i 3 (Realni brojevi i iteracije) C++ za programere poslovnih aplikacija C++ for Business Programmers John C. Molluzzo - Pace University, New York Prentice Hall, August 02, 2005 Fakultet za poslovnu informatiku

description

Fakultet za poslovnu informatiku. Uvod u programiranje II 2 i 3 (Realni brojevi i iteracije) C++ za program ere poslovnih aplikacija. C++ for Business Programmers John C. Molluzzo -  Pace University, New York Prentice Hall , August 02, 2005. Poglavlje 2 – Realni brojevi. - PowerPoint PPT Presentation

Transcript of C++ for Business Programmers John C. Molluzzo -  Pace University, New York

Page 1: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

1/18

Uvod u programiranje II2 i 3

(Realni brojevi i iteracije)

C++ za programere poslovnih aplikacija

C++ for Business Programmers

John C. Molluzzo -  Pace University, New York

Prentice Hall, August 02, 2005

Fakultet za poslovnu informatiku

Page 2: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

2/18

Poglavlje 2 – Realni brojevi

• float (4 bajta, 7 cifara preciznost)• double (8 bajtova, 15 digit precision)

#include <iostream>

using namespace std;

int main()

{

cout << “Na ovom racunaru broj bajtova odvojenih za tip float je"

<< sizeof(float) << endl;

cout << "On this computer a double occupies this many bytes "

<< sizeof(double) << endl;

return 0;

}

Page 3: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

3/18

Problemi:

- kontrola broja cifara iza decimalne tačke

- prebacivanje na naučnu notaciju i

- gubitak završne nule,

cout << setprecision(2) // two digits to right of decimal

<< setiosflags(ios::fixed) // display in fixed form

<< setiosflags(ios::showpoint); // print trailing zeros

• Mora da se uključi heder fajl iomanip

#include <iomanip>

Realni brojevi

Page 4: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

4/18

Demo02-1

Page 5: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

5/18

Program prb02-1.cpp

Page 6: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

6/18

• Konverzija u tip double pre aritmetičkih operacija– Kada aritmetički izraz sadrži više promenljivih tipa int ili long i više

promenljivih tipa float ili double, C++ automatski konvertuje sve promenljive u tip double pre nego što izvrši aritmetičke operacije. Sledi, rezultat je tipa double

• type cast – Tip cast (C++ data type nakon koga sledi izraz u malim zagradama)

menja tip podatka – vrednosti koja je uključena u određeni tip. – int i = 5; double(i) casts (kastuje, menja) vrednost promenljive i,

odnosno konvertuje vrednost i u double 5.0.

• Konverzija desne strane pridruženja u levu– Kada se tip podatka desne strane znaka pridruženja razlikuje od tipa

podatka promenljive sa leve strane, C++ konvertuje vrednost desne strane u tip podatka varijable sa leve strane

• ...

Aritmetika

Page 7: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

7/18

• Svaki izraz u C++ ima numeričku vrednost

Aritmetika

Page 8: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

8/18

Aritmetika

Page 9: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

9/18

Poglavlje 3 – Iteracije (petlje)

• U C++, ako je relacioni uslov true-tačno, ceo uslov ima numeričku vrednost 1. Ako je relacioni uslov false-netačno, ceo uslov ima numeričku vrednost 0. Sledi, C++ uzima svaku vrednost različitu od nule kao true, a vrednost 0 kao false-netačno.

• Iteracije (looping - while loop, do loop, i for loop)

#include <iostream>

using namespace std;

int main()

{

int i = 3,

j = 8,

k = 5,

result;

result = (i < j < k);

cout << "result = " << result << endl;

return 0;

}

Page 10: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

10/18

• while (control-expression)  loop-body

Petlja

Page 11: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

11/18

Korišćenje cin.get()

Ako deklarišemo promenljivu tipa character

char ch;

Sledeća naredba pridružuje sledeći karakter iz ulaznog strima varijable ch

ch = cin.get();

Page 12: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

12/18

Dem03-1

Page 13: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

13/18

Dem03-2

Page 14: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

14/18

do-while petlja

Page 15: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

15/18

Dem03-3

Page 16: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

16/18

• for naredba

for()

Page 17: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

17/18

Nested while Loops

Kako da signaliziramo programu da ne želimo više da unosimo kataktere?

C++ ima specijalnu simboličku konstantu EOF da bi se označio kraj ulaza. EOF je mnemonic koji znači "end of file“, definisan u standardnom heder fajlu iostream.

Vrednost EOF je sistemski zavisna, mada većina sistema koristi int vrednost 1.

U Windows-u, da bi se ubacila sa terminala korektna vrednost EOF, mora da ukucate ^Z;

U UNIX/Linux-u, enter ^D za vrednost EOF.

Ugnežđene while petlje

Page 18: C++ for Business Programmers John C. Molluzzo -  Pace University, New York

18/18

• ... promenljiva ch u koju se smešta karakter koji korisnik unosi preko tastature je tipa int umesto tipa char. Jedina razlika u skladištenju karaktera recimo 'a', u int type variable umesto u char type variable je da int variable zahteva 2 ili 4 bajta memorije dok char type variable zahteva 1 ili 2 bajta (dva bajta za Unicode karaktere) memorije. U oba slučaja karakter 'a' je uskladišten kao integer value 97.

U poslednjem primeru ...