-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path007_str055_pobrojenja.cpp
57 lines (45 loc) · 2.09 KB
/
007_str055_pobrojenja.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
using namespace std;
int main(){
enum dani{pon,uto,sri,cet, pet,sub,ned}SunnyDay; //Varijable tipa dani mogu se deklarirati i neposredno uz definiciju pobrojenog tipa kao što je ovdje SunnyDay.
/*
-Ovom deklaracijom uvodi se novi tip podataka dani, te sedam nepromjenjivih identifikatora (pon,uto,sri,..) toga tipa.
-Prvom identifikatoru prevoditelj pridjeljuje vrijednost 0, drugom 1, itd.
-Možemo definirati varijablu tipa dani i pridružiti joj neku od vrijednosti niza. */
dani HvalaBoguDanasJe=pet;
dani NeVolim=pon;
cout<<HvalaBoguDanasJe<<" "<<NeVolim<<endl;
SunnyDay=ned;
cout<<SunnyDay<<endl;
enum days{mon=1,tue,wed,thu,fri,sat,sun};
/*
-Podrazumijevana vrijednost prve varijable je 0, ali može se i eksplicitno zadati željena vrijednost
npr. 1, tada drugi član tue ima vrijednost 2, wed vrijednost 3, itd.
-Eksplicitno pridjeljivanje može se primijeniti i na bilo koji od ostalih načina, s time da će sljedeći član, ukoliko njegova vrijednost nije
eksplicitno zadana imati za jedan veću vrijednost. */
enum likovi{kruznica=0,
trokut=3,
pravokutnik=4,
kvadrat=4,
cetverokut=4,
peterokut,
sedmerokut=cetverokut+3};
enum {NE=0,DA}YesMyBabyNo, ShouldIStayOrShouldIGo; //Ako nam ne treba više varijabli tog tipa, ime tipa iza riječi enum se može izostaviti.
YesMyBabyNo=NE;
ShouldIStayOrShouldIGo=DA;
cout<<YesMyBabyNo<<" "<<ShouldIStayOrShouldIGo<<endl;
enum{dvostruki=2,trostruki};
int i=5;
float pi=3.14159;
cout<<dvostruki*i<<" "<<trostruki*pi<<endl; //Pobrojane vrijednosti mogu se koristiti u aritmetičkim izrazima.
dani VelikiPetak=pet;
/*
-Pobrojanim tipovima se ne mogu pridruživati cjelobrojne vrijednosti, pa je ovo pogreška: dani DolaziZec=VelikiPetak+2;
-Ispravno je sljedeće: */
dani DolaziZec=dani(VelikiPetak+2);
cout<<DolaziZec<<endl;
/*
- Prilikom zbrajanja pobrojeni tip VelikiPetak svodi se na zajednički tip s brojem 2 (a to je int). Dobiveni rezultat tipa int treba pridružiti
pobrojenom tipu, što rezultira greškom kod prevođenja. Zato je bilo potrebno taj tip int pretvoriti u tip dani. */
return 0;
}