Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.28 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. enum GodinaStudija{ I,II,III };
  5. enum Kategorija{CYBER_SECURITY,INOVACIJE,PROGRAMIRANJE,GAME};
  6. enum Lokacija {MOSTAR,SARAJEVO};
  7.  
  8. struct Takmicar {
  9.     char * imePrezime;
  10.     GodinaStudija godina;
  11.     void Unos(const char * ip, GodinaStudija godina) {
  12.         imePrezime = new char[strlen(ip) + 1];
  13.         strcpy_s(imePrezime, strlen(ip) + 1, ip);
  14.     }
  15.     void Ispis() {
  16.         cout << "Ime i prezime: " << imePrezime << endl;
  17.         cout << godina;
  18.     }
  19.  
  20.     void Dealociraj() {
  21.         delete[] imePrezime;
  22.         imePrezime = nullptr;
  23.     }
  24. };
  25.  
  26. /*
  27.     Za kategorije cyber i inovation, maksimalan broj clanova u timu je 3
  28.     Za programiranje maksimalan broj clanova je 2
  29.     Za game mora biti 5 clanova u timu
  30. */
  31.  
  32. struct Tim {
  33.     char * nazivTima;
  34.     Takmicar * takmicari;
  35.     int brojClanova;
  36.     Kategorija kategorija;
  37.  
  38.     void Unos(const char * naziv,Kategorija k) {
  39.         nazivTima = new char[strlen(naziv) + 1];
  40.         strcpy_s(nazivTima, strlen(naziv) + 1, naziv);
  41.         kategorija = k;
  42.         brojClanova = 0;
  43.         takmicari = nullptr;
  44.     }
  45.  
  46.     void Ispis() {
  47.         cout << nazivTima << " => " << kategorija << endl;
  48.         cout << "Takmicari: " << endl;
  49.         for (int i = 0; i < brojClanova; i++) {
  50.             takmicari[i].Ispis();
  51.             cout << endl;
  52.         }
  53.     }
  54.  
  55.     void Dealociraj() {
  56.         delete[] takmicari;
  57.         takmicari = nullptr;
  58.     }
  59. };
  60.  
  61. struct CodingChallenge {
  62.     shared_ptr<Lokacija> lokacija;
  63.     Tim ** timovi;
  64.     int brojacTimova;
  65. };
  66.  
  67. int main() {
  68.     Takmicar samra, erhad, tarik, dzenis, peco, dzenan, dzanis, remo,cosa;
  69.     samra.Unos("Samra Buric", II);
  70.     erhad.Unos("Erhad Husovic", II);
  71.     tarik.Unos("Tarik Corda", II);
  72.     dzenis.Unos("Dzenis Brkan", III);
  73.     peco.Unos("Faruk Peco", II);
  74.     dzenan.Unos("Dzenan Brkan", I);
  75.     dzanis.Unos("Dzanis Brkan", II);
  76.     remo.Unos("Omer remo", II);
  77.     cosa.Unos("Tarik Cosovic", III);
  78.  
  79.     Tim svecaneHaljineMostar, null, mid_or_feed, vamzemaljci;
  80.     svecaneHaljineMostar.Unos("Svecane Haljine Mostar", PROGRAMIRANJE);
  81.     null.Unos("NULL", CYBER_SECURITY);
  82.     mid_or_feed.Unos("Mid or Feed", GAME);
  83.     vamzemaljci.Unos("Vamzemaljci", PROGRAMIRANJE);
  84.  
  85.     CodingChallenge hehe;
  86.     hehe.Unos(MOSTAR);
  87.  
  88.  
  89.     //ukoliko tim nije dodan, potrebno je dodati tim u niz, onemoguciti dodavanje istih osoba u razlicite kategorije, te onemoguciti dodavanje duplih osoba
  90.     hehe.DodajKandidata(svecaneHaljineMostar, samra);
  91.     hehe.DodajKandidata(null, erhad);
  92.     hehe.DodajKandidata(mid_or_feed, dzenan);
  93.     hehe.DodajKandidata(mid_or_feed, dzenis);
  94.     hehe.DodajKandidata(mid_or_feed, peco);
  95.     hehe.DodajKandidata(mid_or_feed, remo);
  96.     hehe.DodajKandidata(mid_or_feed, tarik);
  97.     hehe.DodajKandidata(mid_or_feed, dzenan);
  98.     hehe.DodajKandidata(mid_or_feed, dzanis);//nece ga dodati jer je vec dodan maksimalan broj takmicara za tu kategoriju
  99.  
  100.     hehe.DodajKandidata(vamzemaljci, dzanis);
  101.     hehe.DodajKandidata(vamzemaljci, cosa);
  102.  
  103.     hehe.DodajKandidata(null, cosa); //nece ga dodati jer postoji vec u drugoj kategoriji
  104.  
  105.     hehe.Ispis(); //da ispise sve timove, te njihove takmicare
  106.  
  107.     hehe.IspisiTim(mid_or_feed); //treba da ispise sve podatke za taj tim
  108.  
  109.     cout << "Ukupan broj takmicara je: " << hehe.UkupanBrojTakm() << endl;
  110.  
  111.     //Funkcija NajmanjiBroj treba da vrati GodinaStudija sa koje je najmanje kandidata prijavljeno
  112.     cout << "Godina sa koje je najmanje studenata je: " << hehe.NajmanjiBroj() << endl;
  113.  
  114.     system("pause");
  115.     return 0;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement