Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.74 KB | None | 0 0
  1. 1111111111111111111111111111111111111111
  2. #include <iostream>
  3. #include <string.h>
  4. using namespace std;
  5.  
  6. class Osoba
  7. {
  8. protected:
  9. int starost;
  10. char *ime;
  11. public:
  12. Osoba(){ime=new char[20];}
  13. Osoba(int s, char *i)
  14. {
  15. starost=s;
  16. ime=new char[strlen(i)+1];
  17. strcpy(ime,i);
  18. }
  19. Osoba(Osoba const &X)
  20. {
  21. starost=X.starost;
  22. ime=new char[strlen(X.ime)+1];
  23. strcpy(ime,X.ime);
  24. }
  25. virtual ~Osoba()
  26. {
  27. delete [] ime;
  28. ime=0;
  29. }
  30. void promjeniStarost(int s){starost=s;}
  31. void promjeniIme(char *i){strcpy(ime,i);}
  32. char *vratiIme(){return ime;}
  33. int vratiStarost(){return starost;}
  34. virtual void stampaj()
  35. {
  36. cout<<starost<<", "<<ime;
  37. }
  38. };
  39.  
  40. class Zaposleni: public Osoba
  41. {
  42. private:
  43. int plata;
  44. public:
  45. Zaposleni(){}
  46. Zaposleni(int s, char *i, int p):Osoba(s,i)
  47. {
  48. plata=p;
  49. }
  50. Zaposleni(Zaposleni const &X):Osoba(X)
  51. {
  52. plata=X.plata;
  53. }
  54. ~Zaposleni(){}
  55. void promjeniPlatu(int p){plata=p;}
  56. int vratiPlatu(){return plata;}
  57. void stampaj()
  58. {
  59. //cout<<starost<<", "<<ime; //moglo je i ovako da se stampa
  60. Osoba::stampaj();
  61. cout<<", "<<plata<<endl;
  62. }
  63. };
  64.  
  65.  
  66.  
  67. int main()
  68. {
  69. Osoba *X;
  70. X=new Zaposleni(36,"Pero",600);
  71. X->stampaj();
  72.  
  73. Osoba *nizOsoba[3];
  74. nizOsoba[0]=new Zaposleni(36,"Dragan",572);
  75. nizOsoba[1]=new Zaposleni(36,"Marko",852);
  76. nizOsoba[2]=new Zaposleni(36,"Sneza",815);
  77.  
  78. for(int i=0;i<3;i++)
  79. nizOsoba[i]->stampaj();
  80. }
  81.  
  82.  
  83.  
  84. 1111111111111111111111111112222222222222
  85.  
  86. #include <iostream>
  87. #include <string.h>
  88. using namespace std;
  89.  
  90. class Osoba
  91. {
  92. protected:
  93. int starost;
  94. char *ime;
  95. public:
  96. Osoba(){ime=new char[20];}
  97. Osoba(int s, char *i)
  98. {
  99. starost=s;
  100. ime=new char[strlen(i)+1];
  101. strcpy(ime,i);
  102. }
  103. Osoba(Osoba const &X)
  104. {
  105. starost=X.starost;
  106. ime=new char[strlen(X.ime)+1];
  107. strcpy(ime,X.ime);
  108. }
  109. ~Osoba()
  110. {
  111. delete [] ime;
  112. ime=0;
  113. }
  114. void promjeniStarost(int s){starost=s;}
  115. void promjeniIme(char *i){strcpy(ime,i);}
  116. char *vratiIme(){return ime;}
  117. int vratiStarost(){return starost;}
  118. void stampaj()
  119. {
  120. cout<<starost<<", "<<ime;
  121. }
  122. };
  123.  
  124. class Zaposleni: public Osoba
  125. {
  126. private:
  127. int plata;
  128. public:
  129. Zaposleni(){}
  130. Zaposleni(int s, char *i, int p):Osoba(s,i)
  131. {
  132. plata=p;
  133. }
  134. Zaposleni(Zaposleni const &X):Osoba(X)
  135. {
  136. plata=X.plata;
  137. }
  138. ~Zaposleni(){}
  139. void promjeniPlatu(int p){plata=p;}
  140. int vratiPlatu(){return plata;}
  141. void stampaj()
  142. {
  143. Osoba::stampaj();
  144. cout<<", "<<plata<<endl;
  145. }
  146. };
  147.  
  148.  
  149.  
  150. int main()
  151. {
  152. Zaposleni *X=new Zaposleni(36,"Pero",600);
  153. X->stampaj();
  154. /*
  155. Osoba *nizOsoba[3];
  156. nizOsoba[0]=new Zaposleni(36,"Dragan",572);
  157. nizOsoba[1]=new Zaposleni(36,"Marko",852);
  158. nizOsoba[2]=new Zaposleni(36,"Sneza",815);
  159.  
  160. for(int i=0;i<3;i++)
  161. nizOsoba[i]->stampaj();
  162. */
  163. }
  164.  
  165.  
  166.  
  167. 22222222222222222222222222222222222222222222222222222222
  168.  
  169. #include <iostream>
  170. #include <string.h>
  171. using namespace std;
  172.  
  173. class Reklama
  174. {
  175. protected:
  176. char *oglasavac;
  177. char *tekstReklame;
  178. int brojDanaPrikazivanja;
  179. public:
  180. Reklama(){oglasavac=new char[20], tekstReklame=new char[20];}
  181. Reklama(char *o, char *t, int br)
  182. {
  183. oglasavac=new char[strlen(o)+1];
  184. strcpy(oglasavac,o);
  185. tekstReklame=new char[strlen(t)+1];
  186. strcpy(tekstReklame,t);
  187. brojDanaPrikazivanja=br;
  188. }
  189. Reklama(Reklama const &X)
  190. {
  191. oglasavac=new char[strlen(X.oglasavac)+1];
  192. strcpy(oglasavac,X.oglasavac);
  193. tekstReklame=new char[strlen(X.tekstReklame)+1];
  194. strcpy(tekstReklame,X.tekstReklame);
  195. brojDanaPrikazivanja=X.brojDanaPrikazivanja;
  196. }
  197. virtual ~Reklama()
  198. {
  199. delete [] oglasavac;
  200. oglasavac=0;
  201. delete [] tekstReklame;
  202. tekstReklame=0;
  203. }
  204. void promjeniTekst(char *t)
  205. {
  206. tekstReklame=new char[strlen(t)+1];
  207. strcpy(tekstReklame,t);
  208. }
  209. virtual float cijenaReklame()=0;//potpuna virtuelna funkcija, potrebna je makar jedna u klasi, da bi klasa bila apstraktna
  210. virtual void citajReklamu()
  211. {
  212. cout<<"oglasavac: "<<oglasavac<<", sa tekstom: "<<tekstReklame<<", prikazuje se: "<<brojDanaPrikazivanja<<"dana"<<endl;
  213. }
  214. };
  215. class Bilbord: public Reklama
  216. {
  217. private:
  218. float visina, sirina;
  219. int brojBilborda;
  220. float cijenaPoMKv;
  221. public:
  222. Bilbord(){}
  223. Bilbord(char *o, char *t, int br, float v, float s, int brB, float c):Reklama(o,t,br)
  224. {
  225. visina=v;
  226. sirina=s;
  227. brojBilborda=brB;
  228. cijenaPoMKv=c;
  229. }
  230. Bilbord(const Bilbord &X): Reklama(X)
  231. {
  232. visina=X.visina;
  233. sirina=X.sirina;
  234. brojBilborda=X.brojBilborda;
  235. cijenaPoMKv=X.cijenaPoMKv;
  236. }
  237. ~Bilbord(){}
  238. float cijenaReklame()
  239. {
  240. return visina*sirina*brojBilborda*cijenaPoMKv*brojDanaPrikazivanja;
  241. }
  242. void citajReklamu()
  243. {
  244. Reklama::citajReklamu();
  245. cout<<"U pitanju je bilbord dimenzija "<<visina<<"x"<<sirina<<"koji je aktivan "
  246. <<brojDanaPrikazivanja<<" dana"<<endl;
  247. }
  248. };
  249. class TV: public Reklama
  250. {
  251. private:
  252. char *tvStanica;
  253. int trajanjeEmitovanja;
  254. float cijena1Sekunde;
  255. public:
  256. TV(){tvStanica=new char[20];}
  257. TV(char *o, char *t, int br, char *tv, int tr, float c):Reklama(o,t,br)
  258. {
  259. tvStanica=new char[strlen(tv)+1];
  260. strcpy(tvStanica,tv);
  261. trajanjeEmitovanja=tr;
  262. cijena1Sekunde=c;
  263. }
  264. TV(const TV &X):Reklama(X)
  265. {
  266. tvStanica=new char[strlen(X.tvStanica)+1];
  267. strcpy(tvStanica,X.tvStanica);
  268. trajanjeEmitovanja=X.trajanjeEmitovanja;
  269. cijena1Sekunde=X.cijena1Sekunde;
  270. }
  271. ~TV()
  272. {
  273. delete [] tvStanica;
  274. tvStanica=0;
  275. }
  276. float cijenaReklame()
  277. {
  278. return trajanjeEmitovanja*cijena1Sekunde*brojDanaPrikazivanja;
  279. }
  280. void citajReklamu()
  281. {
  282. Reklama::citajReklamu();
  283. cout<<"U pitanju je TV reklama na stanici "<<tvStanica<<" u trajanju od "
  284. <<trajanjeEmitovanja<<" sekundi na dan"<<endl;
  285. }
  286. };
  287. int main()
  288. {
  289. Reklama *nizReklama[4];
  290. nizReklama[0]=new Bilbord("Oglasivac1","Reklama1",5,2,3,5,30.5);
  291. nizReklama[1]=new Bilbord("Oglasivac2","Reklama2",6,2,3,4,20.5);
  292. nizReklama[2]=new TV("Oglasivac3","Reklama3",5,"Vijesti",100,6.8);
  293. nizReklama[3]=new TV("Oglasivac4","Reklama4",3,"RTCG",200,14.8);
  294. for(int i=0;i<4;i++)
  295. {
  296. nizReklama[i]->citajReklamu();
  297. cout<<"Cijena reklame je "<<nizReklama[i]->cijenaReklame()<<" eura"<<endl<<endl;;
  298. }
  299. }
  300.  
  301.  
  302.  
  303.  
  304. 333333333333333333333333333333333333333333333333333333333333
  305.  
  306. #include <iostream>
  307. #include <string.h>
  308. #include <stdlib.h>
  309. using namespace std;
  310.  
  311. class Radnik
  312. {
  313. private:
  314. int id;
  315. char* datumRodjenja;
  316. float *nizPlata;
  317. int N;
  318. public:
  319. static float maxPlata;
  320. Radnik(){}
  321. Radnik(int i, char *d, float *pl, int n)
  322. {
  323. id=i;
  324. datumRodjenja=new char[strlen(d)+1];
  325. strcpy(datumRodjenja,d);
  326. N=n;
  327. nizPlata=new float[N];
  328. for(int j=0;j<N;j++)
  329. nizPlata[j]=pl[j];
  330. }
  331. Radnik(const Radnik &X)
  332. {
  333. id=X.id;
  334. datumRodjenja=new char[0];
  335. strcpy(datumRodjenja,X.datumRodjenja);
  336. N=X.N;
  337. nizPlata=new float[N];
  338. for(int i=0;i<N;i++)
  339. nizPlata[i]=X.nizPlata[i];
  340. }
  341. ~Radnik()
  342. {
  343. delete [] datumRodjenja;
  344. delete [] nizPlata;
  345. }
  346. Radnik operator=(const Radnik &X)
  347. {
  348. if(this!=&X)
  349. {id=X.id;
  350. datumRodjenja=new char[strlen(X.datumRodjenja)+1];
  351. strcpy(datumRodjenja,X.datumRodjenja);
  352. N=X.N;
  353. nizPlata=new float[N];
  354. for(int i=0;i<N;i++)
  355. nizPlata[i]=X.nizPlata[i];
  356. }
  357. return *this;
  358. }
  359. int operator>(char *d)
  360. {
  361. if(godina(datumRodjenja)>godina(d))
  362. return 1;
  363. else if (godina(datumRodjenja)<godina(d))
  364. return 0;
  365. else
  366. {
  367. if (mjesec(datumRodjenja)>mjesec(d))
  368. return 1;
  369. else
  370. return 0;
  371. }
  372. }
  373. int godina(char *d)
  374. {
  375. char GG[3];
  376. GG[0]=d[0];
  377. GG[1]=d[1];
  378. GG[2]='\0';
  379. return atoi(GG);
  380. }
  381. int mjesec(char *d)
  382. {
  383. char MM[3];
  384. MM[0]=d[3];
  385. MM[1]=d[4];
  386. MM[2]='\0';
  387. return atoi(MM);
  388. }
  389. float prosjecnaPlata()
  390. {
  391. float S=0;
  392. for(int i=0;i<N;i++)
  393. S+=nizPlata[i];
  394. return S/N;
  395. }
  396. void stampaj()
  397. {
  398. cout<<"Id radnika je '"<<id<<"', datum rodjenja "
  399. <<datumRodjenja<<", a prosjecna plata je "<<prosjecnaPlata()<<endl;
  400. }
  401. };
  402. float Radnik::maxPlata=0;
  403.  
  404. class Firma
  405. {
  406. protected:
  407. Radnik *nizRadnika;
  408. int duzina;
  409. public:
  410. Firma(){}
  411. Firma(Radnik *niz, int N)
  412. {
  413. nizRadnika=new Radnik[N];
  414. for(int i=0;i<N;i++)
  415. nizRadnika[i]=niz[i];
  416. duzina=N;
  417. }
  418. ~Firma()
  419. {
  420. delete [] nizRadnika;
  421. }
  422. };
  423.  
  424. class Korporacija: public Firma
  425. {
  426. private:
  427. int godinaOsnivanja;
  428. public:
  429. Korporacija(){}
  430. Korporacija(Radnik *niz, int N, int g): Firma(niz,N), godinaOsnivanja(g){}
  431. ~Korporacija(){}
  432. Radnik *najplaceniji(char *d1, char *d2, int &N)
  433. {
  434. Radnik *niz=new Radnik[duzina];
  435. int j=0;
  436. for(int i=0;i<duzina;i++)
  437. {
  438. if (nizRadnika[i]>d1==1 && nizRadnika[i]>d2==0)
  439. niz[j++]=nizRadnika[i];
  440. }
  441. N=j;
  442. Radnik pom;
  443. for(int i=0;i<N-1;i++)
  444. for(int j=i+1;j<N;j++)
  445. if(niz[i].prosjecnaPlata()<niz[j].prosjecnaPlata())
  446. {
  447. pom=niz[i];
  448. niz[i]=niz[j];
  449. niz[j]=pom;
  450. }
  451. for(int i=0;i<N;i++)
  452. niz[i].stampaj();
  453. return niz;
  454. }
  455. };
  456.  
  457. int main()
  458. {
  459.  
  460. Radnik *niz=new Radnik[4];
  461. float plate1[4]={200,300,400,500};
  462. float plate2[4]={200,200,400,500};
  463. float plate3[4]={200,100,400,500};
  464. float plate4[4]={200,150,400,500};
  465. niz[0]=Radnik(1,"17-01",plate1,4);
  466. niz[1]=Radnik(2,"17-02",plate2,4);
  467. niz[2]=Radnik(3,"15-05",plate3,4);
  468. niz[3]=Radnik(4,"14-03",plate4,4);
  469. Korporacija CocaCola(niz,4,1907);
  470. int N=0;
  471. Radnik *noviNiz=CocaCola.najplaceniji("15-04","17-03",N);
  472. for(int i=0;i<N;i++)
  473. noviNiz[i].stampaj();
  474. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement