Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- enum GodinaStudija{ I,II,III };
- enum Kategorija{CYBER_SECURITY,INOVACIJE,PROGRAMIRANJE,GAME};
- enum Lokacija {MOSTAR,SARAJEVO};
- struct Takmicar {
- char * imePrezime;
- GodinaStudija godina;
- void Unos(const char * ip, GodinaStudija godina) {
- imePrezime = new char[strlen(ip) + 1];
- strcpy_s(imePrezime, strlen(ip) + 1, ip);
- }
- void Ispis() {
- cout << "Ime i prezime: " << imePrezime << endl;
- cout << godina;
- }
- void Dealociraj() {
- delete[] imePrezime;
- imePrezime = nullptr;
- }
- };
- /*
- Za kategorije cyber i inovation, maksimalan broj clanova u timu je 3
- Za programiranje maksimalan broj clanova je 2
- Za game mora biti 5 clanova u timu
- */
- struct Tim {
- char * nazivTima;
- Takmicar * takmicari;
- int brojClanova;
- Kategorija kategorija;
- void Unos(const char * naziv,Kategorija k) {
- nazivTima = new char[strlen(naziv) + 1];
- strcpy_s(nazivTima, strlen(naziv) + 1, naziv);
- kategorija = k;
- brojClanova = 0;
- takmicari = nullptr;
- }
- void Ispis() {
- cout << nazivTima << " => " << kategorija << endl;
- cout << "Takmicari: " << endl;
- for (int i = 0; i < brojClanova; i++) {
- takmicari[i].Ispis();
- cout << endl;
- }
- }
- void Dealociraj() {
- delete[] takmicari;
- takmicari = nullptr;
- }
- };
- struct CodingChallenge {
- shared_ptr<Lokacija> lokacija;
- Tim ** timovi;
- int brojacTimova;
- };
- int main() {
- Takmicar samra, erhad, tarik, dzenis, peco, dzenan, dzanis, remo,cosa;
- samra.Unos("Samra Buric", II);
- erhad.Unos("Erhad Husovic", II);
- tarik.Unos("Tarik Corda", II);
- dzenis.Unos("Dzenis Brkan", III);
- peco.Unos("Faruk Peco", II);
- dzenan.Unos("Dzenan Brkan", I);
- dzanis.Unos("Dzanis Brkan", II);
- remo.Unos("Omer remo", II);
- cosa.Unos("Tarik Cosovic", III);
- Tim svecaneHaljineMostar, null, mid_or_feed, vamzemaljci;
- svecaneHaljineMostar.Unos("Svecane Haljine Mostar", PROGRAMIRANJE);
- null.Unos("NULL", CYBER_SECURITY);
- mid_or_feed.Unos("Mid or Feed", GAME);
- vamzemaljci.Unos("Vamzemaljci", PROGRAMIRANJE);
- CodingChallenge hehe;
- hehe.Unos(MOSTAR);
- //ukoliko tim nije dodan, potrebno je dodati tim u niz, onemoguciti dodavanje istih osoba u razlicite kategorije, te onemoguciti dodavanje duplih osoba
- hehe.DodajKandidata(svecaneHaljineMostar, samra);
- hehe.DodajKandidata(null, erhad);
- hehe.DodajKandidata(mid_or_feed, dzenan);
- hehe.DodajKandidata(mid_or_feed, dzenis);
- hehe.DodajKandidata(mid_or_feed, peco);
- hehe.DodajKandidata(mid_or_feed, remo);
- hehe.DodajKandidata(mid_or_feed, tarik);
- hehe.DodajKandidata(mid_or_feed, dzenan);
- hehe.DodajKandidata(mid_or_feed, dzanis);//nece ga dodati jer je vec dodan maksimalan broj takmicara za tu kategoriju
- hehe.DodajKandidata(vamzemaljci, dzanis);
- hehe.DodajKandidata(vamzemaljci, cosa);
- hehe.DodajKandidata(null, cosa); //nece ga dodati jer postoji vec u drugoj kategoriji
- hehe.Ispis(); //da ispise sve timove, te njihove takmicare
- hehe.IspisiTim(mid_or_feed); //treba da ispise sve podatke za taj tim
- cout << "Ukupan broj takmicara je: " << hehe.UkupanBrojTakm() << endl;
- //Funkcija NajmanjiBroj treba da vrati GodinaStudija sa koje je najmanje kandidata prijavljeno
- cout << "Godina sa koje je najmanje studenata je: " << hehe.NajmanjiBroj() << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement