Advertisement
zerocode77

Untitled

Feb 25th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 12.33 KB | None | 0 0
  1. //prvi rok
  2. #include <fstream>
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. class Vrijeme{
  7. public:
  8.     int sati;
  9.     int minute;
  10.     bool operator == (Vrijeme v){
  11.      return ( ((v.sati==sati) || (v.sati==(sati-12)) || (v.sati==(sati+12))) && (v.minute=minute));
  12.     }
  13. };
  14.  
  15. int main(){
  16.     Vrijeme v1,v2;
  17.  
  18.     char unos='d';
  19.  
  20.     while(unos='d'){
  21.         cout<<"Unesite sat pa minutu 1. vremena: "<<endl;
  22.         cin>>v1.sati;
  23.         cin>>v1.minute;
  24.         cout<<"Unesite sat pa minutu 2. vremena: "<<endl;
  25.         cin>>v2.sati;
  26.         cin>>v2.minute;
  27.         if(v1==v2){
  28.             cout<<"Kazaljke pokazuju na isto vrijeme!"<<endl<<"Zelite li nastaviti unos?"<<endl;
  29.             cin>>unos;
  30.         }
  31.         else{
  32.             cout<<"Kazaljke ne pokazuju na isto vrijeme."<<endl<<"Zelite li nastaviti unos?"<<endl;
  33.             cin>>unos;
  34.         }
  35.     }
  36.  
  37.  
  38. return 0;
  39. }
  40.  
  41. //prvi rok 2.zad
  42. #include <fstream>
  43. #include <iostream>
  44. #include <vector>
  45.  
  46. using namespace std;
  47.  
  48. class Narudzba{
  49. private:
  50.     int cijena;
  51. public:
  52.     int sifra;
  53.     void setCijena(int c){
  54.         cijena=c;
  55.     }
  56.     int getCijena(){return cijena;}
  57.     Narudzba(){
  58.         cijena=0;
  59.         sifra=100;
  60.     }
  61.     ~Narudzba(){};
  62. };
  63.  
  64. class Dostava:public Narudzba{
  65. public:
  66.     void PostaviCijenu(){
  67.         setCijena(getCijena()+35);
  68.     }
  69. };
  70.  
  71.  
  72. int main(){
  73.  
  74.     int brn;
  75.     cout<<"Unesite broj narudzbi s dostavom: "<<endl;
  76.     cin>>brn;
  77.     vector <Dostava> vd(brn);
  78.  
  79.     for(int i=0;i<brn;i++){
  80.         cout<<"Sifra: "<<endl;cin>>vd[i].sifra;
  81.         cout<<"Cijena: "<<endl;
  82.         int c;
  83.         cin>>c;
  84.         vd[i].setCijena(c);
  85.  
  86.         if((i+1)%3==0){
  87.             cout<<"treca narudzba se ne naplacuje"<<endl;
  88.         }
  89.         else{
  90.             vd[i].PostaviCijenu();
  91.         }
  92.     }
  93.  
  94.     ofstream izlaz;
  95.     izlaz.open("narudzbe.txt");
  96.     for(int i=0;i<brn;i++){
  97.     izlaz<<vd[i].sifra<<"\t"<<vd[i].getCijena()<<endl;
  98.     }
  99.     izlaz.close();
  100.  
  101. return 0;
  102. }
  103.  
  104.  
  105.  
  106. #include <iostream>
  107. #include <string>
  108. #include <vector>
  109.  
  110. /* 1. rok GRUPA B
  111. Definiraj klasu brod sa privatnim atributom naziv_broda,
  112. javim atributom brzina, te virtualnom metodom ubrzanje.
  113. Pretpostavljene vrijednosti su Crni Biser i 0.
  114. Brodovi se djele na drvene i metalne.
  115. Drveni prilikom ubrzanja povecaju brzinu na 50,a metalni za 100.
  116. Cijelo vrijeme pomocu jednog statickog atributa prati se koliko
  117. postoji brodova(neovisno o vrsti),te se taj podatak konstantno
  118. mjenja po potrebi.
  119. Korisnik u glavnom programu unosi broj,taj brioj predstavjati ce velicinu oba vektora(vektora drvenih i vektora metalnih brodova).
  120. Nakon toga unose se svi podaci za sve brodove. Nakon popune, program ispise nazive svih metalnih brodova ciji nazivi pocinju na
  121. C(dodati funkciju koja vraca prvo slovo imena),  te ispise koliko brodova postoji(statican atribut)*/
  122.  
  123. using namespace std;
  124.  
  125. class Brod{
  126. private:
  127.     string *naziv_broda;
  128. public:
  129.     int *brzina;
  130.     virtual void ubrzanje()=0;
  131.     static int brb;
  132.     void setNaziv(){
  133.         cin.sync();cin.clear();getline(cin,*naziv_broda);
  134.     }
  135.     string getNaziv(){
  136.         return *naziv_broda;
  137.         }
  138.     Brod(){
  139.         naziv_broda=new string;
  140.         *naziv_broda="Crni Biser";
  141.         brzina=new int;
  142.         *brzina=0;
  143.         brb++;
  144.     }
  145.     ~Brod(){
  146.         delete naziv_broda;
  147.         delete brzina;
  148.         brb--;
  149.     }
  150.  
  151.     char GetSlovo(){
  152.         return (*naziv_broda).at(0);
  153.     }
  154. };
  155.  
  156. class Drveni:public Brod{
  157. public:
  158.     void ubrzanje(){
  159.         *brzina=(*brzina)+50;
  160.     }
  161. };
  162.  
  163. class Metalni:public Brod{
  164. public:
  165.     void ubrzanje(){
  166.         *brzina=(*brzina)+100;
  167.     }
  168. };
  169.  
  170. int Brod::brb=0;
  171.  
  172. int main(){
  173.  
  174.     int *br=new int;
  175.     int *i=new int;
  176.     cout<<"unesite broj brodova: "<<endl;
  177.     cin>>*br;
  178.     vector <Drveni*>*vd=new vector <Drveni*>(*br);
  179.     vector <Metalni*>*vm=new vector <Metalni*>(*br);
  180.  
  181.     for(*i=0;*i<*br;(*i)++){
  182.         vd->at(*i)=new Drveni;
  183.         vm->at(*i)=new Metalni;
  184.     }
  185.     for(*i=0;*i<*br;(*i)++){
  186.         cout<<"Naziv drvenog broda: "<<endl;
  187.         vd->at(*i)->setNaziv();
  188.         cout<<"Brzina drvenog broda: "<<endl;
  189.         cin>>*(vd->at(*i)->brzina);
  190.         cout<<"Naziv metalnog broda: "<<endl;
  191.         vm->at(*i)->setNaziv();
  192.         cout<<"Brzina metalnog broda: "<<endl;
  193.         cin>>*(vm->at(*i)->brzina);
  194.     }
  195.  
  196.     for(*i=0;*i<*br;(*i)++){
  197.         if(vm->at(*i)->GetSlovo()=='C'){
  198.             cout<<vm->at(*i)->getNaziv()<<endl;
  199.         }
  200.  
  201.     }
  202.     cout <<"Brodova ima: "<<Brod::brb<<endl;
  203.  
  204.  
  205.  
  206.  
  207.     return 0;
  208. }
  209.  
  210.  
  211. #include <iostream>
  212. #include <string>
  213. #include <vector>
  214.  
  215. /*
  216. Definiraj klasu Brod sa privatnim atributima naziv_broda i naziv_maticne_luke, te virtualnom metodom slovo.
  217. Pretpostavljene vrijednosti su Oluja i Rijeka.
  218. Brodovi se dijele na teretne i putnicke. Teretnim se u funkciji slovo vraca prvo slovo imena, a putnickim prvo slovo luke.
  219. Cijelo vrijeme pomocu jednog statickog atributa prati se kolko postoji brodova (neovisno o vrsti), te se taj podataka konstantno mijenja po potrebi.
  220. Korisnik u glavnom programu unosi broj, taj broj predstavljati ce velicinu vektora putnickih i niza teretnih brodova. Nakon toga unose se svi podaci za brodove.
  221. Nakon popune, program provjerava brodove na istim pozicijama u nizu/vektoru putnickih i teretnih brodova (prvi vs. prvi, drugi vs. drugi itd.) te ispise nazive
  222. onih cije funkcije vrate isto slovo.
  223.  
  224. Koristite dinamicke elemente svuda u programu (za staticki atribut nije potrebno). Dealocirati memoriju nakon koristenja.
  225. */
  226.  
  227. using namespace std;
  228.  
  229. class Brod{
  230. private:
  231.     string *naziv_broda;
  232.     string *naziv_maticne_luke;
  233. public:
  234.     virtual char Slovo()=0;
  235.     static int brb;
  236.     void setNaziv(string nb){
  237.         *naziv_broda = nb;
  238.     }
  239.     string getNaziv(){
  240.         return *naziv_broda;
  241.     }
  242.     void setLuka(string nl){
  243.         *naziv_maticne_luke=nl;
  244.     }
  245.     string getLuka(){
  246.         return *naziv_maticne_luke;
  247.     }
  248.     Brod(){
  249.     naziv_broda=new string;
  250.     *naziv_broda="Oluja";
  251.     naziv_maticne_luke=new string;
  252.     *naziv_maticne_luke="Rijeka";
  253.     brb++;
  254.     }
  255.     ~Brod(){
  256.     delete naziv_broda;
  257.     delete naziv_maticne_luke;
  258.     brb--;
  259.     }
  260. };
  261.  
  262. class Teretni:public Brod{
  263. public:
  264.     char Slovo(){
  265.         return getNaziv().at(0);
  266.     }
  267. };
  268.  
  269. class Putnicki:public Brod{
  270. public:
  271.     char Slovo(){
  272.         return getLuka().at(0);
  273.     }
  274. };
  275.  
  276. int Brod::brb=0;
  277.  
  278. int main(){
  279.     int *br=new int;
  280.     int *i=new int;
  281.  
  282.     cout<<"unesite broj brodova:"<<endl;
  283.     cin>>*br;
  284.     vector <Putnicki*>*bp=new vector <Putnicki*>(*br);
  285.  
  286.     for(*i=0;*i<*br;(*i)++){
  287.         bp->at(*i)=new Putnicki;
  288.     }
  289.  
  290.     Teretni* *nt = new Teretni*[*br];
  291.     for (*i=0;*i<*br;(*i)++){
  292.         (*(nt+(*i))) = new Teretni;
  293.     }
  294.  
  295.     string *nb = new string; string *nl = new string;
  296.  
  297.     for(*i=0;*i<*br;(*i)++){
  298.         cout<<"Unesite ime teretnog broda: "<<endl;
  299.         cin.sync(); cin.clear(); getline(cin,*nb);
  300.         (*(nt+(*i)))->setNaziv(*nb);
  301.         cout<<"Unesite ime maticne luke teretnog broda: "<<endl;
  302.         cin.sync(); cin.clear(); getline(cin,*nl);
  303.         (*(nt+(*i)))->setLuka(*nl);
  304.         cout<<"Unesite ime putnickog broda: "<<endl;
  305.         cin.sync(); cin.clear(); getline(cin,*nb);
  306.         bp->at(*i)->setNaziv(*nb);
  307.         cout<<"Unesite ime maticne luke putnickog broda: "<<endl;
  308.         cin.sync(); cin.clear(); getline(cin,*nl);
  309.         bp->at(*i)->setLuka(*nl);
  310.     }
  311.  
  312.     for(*i=0;*i<*br;(*i)++){
  313.         if(bp->at(*i)->Slovo()==(*(nt+(*i)))->Slovo()){
  314.             cout<<bp->at(*i)->getNaziv()<<endl;
  315.             cout<<(*(nt+(*i)))->getNaziv()<<endl;
  316.         }
  317.     }
  318.  
  319.     for (*i=0;*i<*br;(*i)++){
  320.         delete bp->at(*i);
  321.         }
  322.         bp->clear(); delete bp;
  323.     for (*i=0;*i<*br;(*i)++){
  324.         delete (*(nt+(*i)));
  325.         }
  326.         delete[] nt;
  327.  
  328.     delete br, i, nb, nl;
  329. return 0;
  330. }
  331.  
  332.  
  333. #include <iostream>
  334. #include <string>
  335. #include <vector>
  336.  
  337. /* 1. rok grupa A
  338. Definiraj klasu pilot s privatnim atributnom puno_ime, javnim èin, te virtualnom metodom unaprijeðenje.
  339. Pretpostavljene vrijednosti imena i èina su Marko Markovic i novak.
  340. Piloti se dijele na vojne i civilne. Vojni prilikom unaprijeðenja postaju pukovnici, a civilni kapetani.
  341. Statièki atributi prate koliko je vojnih, i konstantno se mjenjaju po potrebi.
  342. Korisnik u glavnom programu unosi broj koji predstavlja velièinu vektora vojnih i civilnih pilota.Unose se imena i èinovi.
  343. Nakon popune, pogram ispiše èinove svih vojnih pilota koji se zovu Marko Markoviæ.
  344. Ispiše koliko vojnih pilota postoji.
  345. */
  346.  
  347. using namespace std;
  348.  
  349. class Pilot{
  350. private:
  351.     string *puno_ime;
  352. public:
  353.     string *javni_cin;
  354.     virtual void unaprijedjenje()=0;
  355.     void setIme(){
  356.         cin.sync();cin.clear();getline(cin,*puno_ime);
  357.     }
  358.     string getIme(){
  359.         return *puno_ime;
  360.     }
  361.     Pilot(){
  362.         puno_ime=new string;
  363.         javni_cin=new string;
  364.         *puno_ime="Marko Markovic";
  365.         *javni_cin="novak";
  366.     }
  367.     ~Pilot(){
  368.         delete puno_ime;
  369.         delete javni_cin;
  370.         }
  371. };
  372.  
  373. class Vojni:public Pilot{
  374. public:
  375.     void unaprijedjenje(){
  376.         *javni_cin="pukovnik";
  377.     }
  378.     static int brv;
  379.     Vojni(){
  380.     brv++;
  381.     }
  382.     ~Vojni(){
  383.     brv--;
  384.     }
  385. };
  386.  
  387. class Civilni:public Pilot{
  388. public:
  389.     void unaprijedjenje(){
  390.         *javni_cin="kapetan";
  391.     }
  392. };
  393.  
  394. int Vojni::brv=0;
  395.  
  396. int main()
  397. {
  398.     int *brp=new int;
  399.     int *i=new int;
  400.  
  401.     cout<<"Broj pilota: "<<endl;
  402.     cin>>*brp;
  403.  
  404.     vector <Vojni*> *nv=new vector<Vojni*>(*brp);
  405.     vector <Civilni*> *nc=new vector<Civilni*>(*brp);
  406.  
  407.     for(*i=0;*i<*brp;(*i)++){
  408.         nv->at(*i)=new Vojni;
  409.         nc->at(*i)=new Civilni;
  410.     }
  411.  
  412.     for(*i=0;*i<*brp;(*i)++){
  413.         cout<<"Ime vojnog pilota: "<<endl;
  414.         nv->at(*i)->setIme();
  415.         cout<<"Cin vojnog pilota: "<<endl;
  416.         cin.sync();cin.clear();getline(cin,*(nv->at(*i)->javni_cin));
  417.         cout<<"Ime civilnog pilota: "<<endl;
  418.         nc->at(*i)->setIme();
  419.         cout<<"Cin civilnog pilota: "<<endl;
  420.         cin.sync();cin.clear();getline(cin,*(nc->at(*i)->javni_cin));
  421.     }
  422.     for(*i=0;*i<*brp;(*i)++){
  423.         if(nv->at(*i)->getIme()=="Marko Markovic"){
  424.             cout<<*(nv->at(*i)->javni_cin)<<endl;
  425.         }
  426.     }
  427.  
  428.     cout<<"Vojnih pilota ima: "<<Vojni::brv<<endl;
  429.  
  430.  
  431.     return 0;
  432. }
  433.  
  434. //vatrogasac profesionalni
  435. #include<iostream>
  436. #include<vector>
  437. #include<string>
  438. using namespace std;
  439.  
  440. class Vatrogasac{
  441. private:
  442.     int *visina;
  443. public:
  444.     void setVisina(){cin>>*visina;}
  445.     void setVisina(int vis){*visina=vis;}
  446.     int getVisina(){return *visina;}
  447.     string *naziv_tima;
  448.     //virtual void Selidba()=0;
  449.     Vatrogasac(){visina=new int; naziv_tima=new string; *naziv_tima="Gornja Stanica"; *visina=250;}
  450.     ~Vatrogasac(){delete visina; delete naziv_tima;}
  451. };
  452.  
  453. class Profesionalni:public Vatrogasac{
  454. private:
  455.     int *isplata;
  456. public:
  457.     void setIsplata(){cin>>*isplata;}
  458.     int getIsplata(){return *isplata;}
  459.     static int brzina;
  460.     Profesionalni(){isplata=new int; *isplata=4500;}
  461.     ~Profesionalni(){delete isplata;}
  462.  
  463. };
  464.  
  465. int Profesionalni::brzina=20;
  466.  
  467. class Dobrovoljni: public Vatrogasac{
  468. public:
  469.     int *bodovi;
  470.     Dobrovoljni(){bodovi=new int; *bodovi=100;}
  471.     ~Dobrovoljni(){delete bodovi;}
  472.  
  473. };
  474.  
  475. int main()
  476. {
  477.     int *br=new int;
  478.     do{
  479.     cout<<"Unesi broj: "<<endl;
  480.     cin>>*br;
  481.     }while( (*br<=0) || (*br%2!=0));
  482.  
  483. vector<Profesionalni*> *np=new vector<Profesionalni*>(*br);
  484. vector<Dobrovoljni*> *nd=new vector<Dobrovoljni*>(*br);
  485.  
  486. for(int i=0;i<*br;i++)
  487. {
  488. np->at(i)=new Profesionalni;
  489. nd->at(i)=new Dobrovoljni;
  490.  
  491. }
  492.  
  493. for(int i=0;i<*br;i++)
  494. {
  495. cout<<"Unesi visinu profesionalnog:"<<endl;
  496. np->at(i)->setVisina();
  497. cout<<"Unesi naziv tima prof:"<<endl;
  498. cin>>*(np->at(i)->naziv_tima);
  499. cout<<"Unesi isplatu profesionalnog"<<endl;
  500. np->at(i)->setIsplata();
  501. cout<<"Unesi visinu dobrovoljnog:"<<endl;
  502. nd->at(i)->setVisina();
  503. cout<<"Unesi naziv tima dobrovoljnog:"<<endl;
  504. cin>>*(nd->at(i)->naziv_tima);
  505. cout<<"Unesi bodove dobrovoljnog:"<<endl;
  506. cin>>*(nd->at(i)->bodovi);
  507.  
  508. if( np->at(i)->getVisina()>200)
  509.     {Profesionalni::brzina=Profesionalni::brzina-5;
  510.     cout<<"Nova brzina je "<<Profesionalni::brzina<<endl; //samo provjera dal radi
  511. }
  512. }
  513.  
  514.  
  515. for(int i=0;i<*br;i++){
  516. if((*(np->at(i)->naziv_tima)).at(0)=='V')
  517. {nd->at(i)->setVisina(160);
  518. cout<<"nova visina dobrovoljnog:"<<nd->at(i)->getVisina()<<endl;}
  519. }
  520.  
  521. delete br;
  522. delete np;
  523. delete nd;
  524.  
  525.  
  526. return 0;
  527. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement