Professional Documents
Culture Documents
CPP Grananje
CPP Grananje
Grananje
8. dio
Grananje
Grananje
Dijagram toka
grananja za
raunanje apsolutne
vrijednosti broja.
Blok naredbi
Blok naredbi
Blok naredbi
Primjer 34
Primjer 34
BLOK
#include<iostream>
Primjer 34
10
Primjer 34
11
Naredbe grananja
switch case.
12
Grananje naredbom if
13
14
Ako je vrijednost
logikog izraza
istina (1), izvodi
se blok naredbi
koji se nalazi iza
naredbe if.
15
Primjer 35
Upisi broj:
Broj...je.... Njegova apsolutna vrijednost
je....
16
Primjer 35
17
Primjer 35
Ako nije ispunjan niti prvi niti drugi uvjet (tj. ako
je a = 0), blok naredbi nakon druge if naredbe
se preskae i izvoenje programa se nastavlja
od naredbe iza drugog bloka.
18
Primjer 35
1. BLOK
1
1
0
1
0
2. BLOK
(c) S.utalo i D.Grundler, 2005.
19
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Upisi broj:";
cin>>a;
if(a<0)
{
cout<<"Broj "<<a<<" je negativan. Njegova apsolutna \
vrijednost je "<<-a<<endl;
}
if(a>0)
{
cout<<"Broj "<<a<<" je pozitivan. Njegova apsolutna \
vrijednost je "<<a<<endl;
}
return 0;
}
Primjer 35
20
Primjer 35
Za (a < 0):
Za (a > 0):
21
Primjer 35
22
23
24
Primjer 36
25
Primjer 36
26
Primjer 36
1. BLOK
2. BLOK
27
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Upisi broj razlicit od 0:";cin>>a;
if(a<0)
{
cout<<"Broj "<<a<<" je negativan. Njegova apsolutna\
vrijednost je "<<-a<<endl;
}
else
{
cout<<"Broj "<<a<<" je pozitivan. Njegova apsolutna\
vrijednost je "<<a<<endl;
}
return 0;
}
Primjer 36
28
Primjer 36
Za (a < 0):
29
Primjer 36 dopuna
30
Primjer 36 goto
31
Naredba goto
32
Naredba goto
33
Primjer 36 dopuna
34
Primjer 36
#include<iostream>
using namespace std;
int main()
{
dopuna
int a;
upis:cout<<"Upisi broj razlicit od 0:";cin>>a;
if(a==0)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
dopuna
goto upis;
}
if(a<0)
{ .
.
.
.
35
Primjer 36 dopuna
Za a == 0
36
Ulanena if naredba
0
0
if (logiki izraz 1)
1
prvi blok naredbi
else if (logiki izraz 2)
1
drugi blok naredbi
.....
else
zadnji blok naredbi
(c) S.utalo i D.Grundler, 2005.
37
Ulanena if naredba
38
Primjer 37
39
Primjer 37
1
1
40
Primjer 37a
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Upisi broj:";cin>>a;
if (a==0)
{
cout<<"Unio si 0. Apsolutna vrijednost od 0 je 0. " <<endl;
}
41
Primjer 37b
else if (a<0)
{
cout<<"Broj "<<a<<" je negativan. Njegova apsolutna \
vrijednost je "<<-a<<endl;
}
else
{
cout<<"Broj "<<a<<" je pozitivan. Njegova apsolutna \
vrijednost je "<<a<<endl;
}
return 0;
}
42
Primjer 37
43
Ugnjeivanje if naredbi
44
Primjer 38
Upisi broj:
Uneseni broj je ... od 100 i ....
45
Primjer 38
46
ugnjeeni
if
Primjer
38
ugnjeeni
if
vanjski if
47
#include<iostream>
Primjer 38
48
Primjer 38
else if
{
cout<<"Uneseni broj je veci od 100 i ";
if (a%2==0)
cout<<" paran je."<<endl;
else
cout<<" neparan je."<<endl;
}
else
{
cout<<"Unesen je broj 100, on je paran<<endl;
}
return 0;
}
(c) S.utalo i D.Grundler, 2005.
49
Primjer 38
Provjera
50
51
(a<0)?(cout<<-a):(cout<<a)
cout<<a;
52
Primjer 39
Upisi broj:
Apsolutna vrijednost je....
53
Primjer 39
54
Primjer 39
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Upisi broj:";
cin>>a;
(a<0)?(cout<<"Apsolutna vrijednost je
<<-a):(cout<<"Apsolutna vrijednost je "<<a);
return 0;
}
55
56
57
switch
(opi oblik)
break;
case (2. konstanta):
drugi blok naredbi
break;
.........
default:
zadnji blok naredbi
}
(c) S.utalo i D.Grundler, 2005.
58
59
60
Primjer 40
Otpor R1 (u omima):
Otpor R2 (u omima):
Za serijski spoj otpora upisi 1, a za
paralelni 2:
Ako se otpori od ... oma i ... oma spoje
u ... ukupni je otpor ... oma.
61
Primjer 40
62
Primjer
40
63
Primjer 40a
#include<iostream>
using namespace std;
int main()
{
float R, R1,R2;
int i;
cout<<"Otpor R1 (u omima):";
cin>>R1;
cout<<"Otpor R2 (u omima):";
cin>>R2;
64
Primjer 40b
switch (i)
{
case 1:
R=R1+R2;
65
Primjer 40c
default:
cout<<"Pogresan unos. Unesi 1 ili 2"<<endl;
}
return 0;
}
66
Primjer 40
Provjera:
67
Primjer 40
68