Kod: |
#include "videoteka.h" void ispisi (vector <film*> v) { int i; for (i=0; i<v.size(); i++) cout<<v[i]->IME<<endl; cout<<endl; } void ispisi (vector <videoteka*> v) { int i; for (i=0; i<v.size(); i++) cout<<v[i]->IME<<endl; cout<<endl; } void ispisi (set <string> v) { set<string>::iterator i; for (i=v.begin(); i!=v.end(); i++) cout<<(*i)<<endl; cout<<endl; } void ispisi (list <film*> v) { list<film*>::iterator i; for (i=v.begin(); i!=v.end(); i++) cout<<(*i)->IME<<endl; cout<<endl; } void ispisi (list <videoteka*> v) { list<videoteka*>::iterator i; for (i=v.begin(); i!=v.end(); i++) cout<<(*i)->IME<<endl; cout<<endl; } void ispisi (videoteka &v) { cout<<v.naziv<<endl; cout<<"Cijena premotavanja: "<<v.NESTO<<", cijena preseljenja: "<<v.NESTO<<endl; cout<<"Trenutno dostupni filmovi:"<<endl; ispisi(v.trenutno_dostupni_filmovi()); } void ispisi (film &f) { cout<<f.naziv<<endl; cout<<"Vlasnistvo videoteke: "<<f.naziv_videoteke()<<endl; cout<<"Posudjen: "; if (NESTO) cout<<"ne, "; else cout<<"da, "; cout<<"pogledan: "; if (NESTO) cout<<"ne, "; else cout<<"da, "; cout<<"premotan: "; if (NESTO) cout<<"ne"<<endl; else cout<<"da"<<endl; if (NESTO) cout<<"Trenutno u posudbi kod: "<< " NEKOG " <<endl; cout<<"Dosadasnji posudjivaci:"<<endl; ispisi(f.osobe_koje_su_posudile_film()); } int main(){ videoteka pula("Pula",10,50),zagreb("Zagreb",5,20),rijeka("Rijeka",15,35); film p1(pula,"p1",60), p2(pula,"p2",65), p3(pula,"p3",55), p4(pula,"p4",100); film r1(rijeka,"r1",5), r2(rijeka,"r2",15), r3(rijeka,"r3",75); film z1(zagreb,"z1",10), z2(zagreb,"z2",10), z3(zagreb,"z3",25), z4(zagreb,"z4",35), z5(zagreb,"z5",40); ispisi(film::svi_filmovi); ispisi(videoteka::sve_videoteke); ispisi(pula); ispisi(r3); cout << pula.posudi(r1,"Gavran") << endl; cout << pula.posudi(p2,"Melkior") << endl; cout << rijeka.posudi(r3,"Sus") << endl; cout << zagreb.posudi(z5,"Mario") << endl; cout << endl; /* STANJE GAVRAN () MELKIOR (P2) P2 SUS (R3) R3 MARIO (Z5) Z5 */ cout << pula.osoba_vraca_film("Gavran") << endl; cout << rijeka.osoba_vraca_film("Melkior") << endl; cout << pula.posudi(p2,"Melkior") << endl; cout << zagreb.posudi(z5,"Gavran") << endl; cout << zagreb.posudi(z4,"Gavran") << endl; cout << endl; /* STANJE GAVRAN (Z4) Z4 MELKIOR (P2) SUS (R3) R3 MARIO (Z5) Z5 */ ispisi(zagreb); cout << z5.gledaj() << endl; cout << rijeka.vrati(z5) << endl; cout << r3.gledaj() << endl; cout << r3.gledaj() << endl; cout << r3.premotaj() << endl; cout << r3.premotaj() << endl; cout << rijeka.vrati(r3) << endl; cout << z4.gledaj() << endl; cout << z4.vrati(pula) << endl; cout << endl; /* STANJE GAVRAN (Z4) MELKIOR (P2) SUS (R3) MARIO (Z5) */ cout << p1.posudi("Gavran") << endl; cout << z1.posudi("Melkior") << endl; cout << r1.posudi("Sus") << endl; cout << r2.posudi("Mario") << endl; cout << endl; /* STANJE GAVRAN (Z4,P1) P1 MELKIOR (P2,Z1) Z1 SUS (R3,R1) R1 MARIO (Z5,R2) R2 */ ispisi(rijeka); cout << z1.naziv_videoteke() << endl; cout << z1.vrati(pula) << endl; cout << zagreb.posudi(z4,"Melkior") << endl; ispisi(z4.osobe_koje_su_posudile_film()); /* STANJE GAVRAN (Z4,P1) P1 MELKIOR (P2,Z1,Z4) Z4 SUS (R3,R1) R1 MARIO (Z5,R2) R2 */ ispisi(film::trenutno_dostupni_filmovi()); ispisi(*film::najposudjivaniji_film()); ispisi(rijeka.filmovi_pogledani("Mario")); ispisi(videoteka::filmovi_pogledani_svuda("Sus")); // to be continued... { film p5(pula,"p5",50); cout << pula.vrati(r1) << " " ; cout << r2.gledaj() << " " ; cout << r2.premotaj() << " " ; cout << r2.vrati(pula) << endl; cout << p5.posudi("Sus") << " " ; cout << r2.posudi("Sus") << endl; } cout << r2.posudi("Sus") << endl; cout << endl; /* STANJE GAVRAN (Z4,P1) P1 MELKIOR (P2,Z1,Z4) Z4 SUS (R3,R1,[P5],R2) R2 MARIO (Z5,R2) */ cout << pula.vrati(p1) << " " ; cout << r2.premotaj() << " " ; cout << r2.gledaj() << " " ; cout << r2.vrati(zagreb) << endl; cout << endl; cout << zagreb.osoba_vraca_film("Nitko") << " " ; cout << rijeka.osoba_vraca_film("Melkior") << " " ; cout << zagreb.posudi(z5,"Mario") << " " ; cout << zagreb.posudi(z4,"Mario") << " " ; cout << pula.posudi(p3,"Mario") << " " ; cout << pula.posudi(p3,"Gavran") << endl; cout << endl; /* STANJE GAVRAN (Z4,P1,P3) P3 MELKIOR (P2,Z1,Z4) SUS (R3,R1,[P5],R2) MARIO (Z5,R2,Z4) Z4 */ cout << film::nadji_film("z2")->posudi("Sus") << " " ; cout << videoteka::nadji_videoteku("Zagreb")->posudi(z3,"Melkior") << "-" ; cout << p3.premotaj() << " " ; cout << p3.gledaj() << " " ; cout << p3.premotaj() << " " ; cout << z3.gledaj() << " " ; cout << z2.premotaj() << "-" ; cout << z3.gledaj() << " " ; cout << z2.premotaj() << " " ; cout << z2.gledaj() << " " ; cout << z2.premotaj() << " " ; cout << z4.gledaj() << endl; cout << endl; cout << z4.vrati(pula) << " " ; cout << pula.vrati(p2) << " " ; cout << pula.vrati(p3) << " " ; cout << rijeka.osoba_vraca_film("Sus") << " " ; cout << zagreb.osoba_vraca_film("Melkior") << endl; cout << endl; /* STANJE GAVRAN (Z4,P1,P3) MELKIOR (P2,Z1,Z4,Z3) SUS (R3,R1,R2,Z2) MARIO (Z5,R2,Z4) */ ispisi(videoteka::nadji_videoteku(z4.naziv_videoteke())->filmovi_pogledani("Gavran")); ispisi(pula.filmovi_pogledani("Sus")); ispisi(videoteka::filmovi_pogledani_svuda("Mario")); ispisi(film::trenutno_dostupni_filmovi()); ispisi(*film::najposudjivaniji_film()); cout << film::nadji_film("r2")->posudi("Gavran") << endl << endl; ispisi(*film::najposudjivaniji_film()); return 0; } |
Citat: |
p1
p2 p3 p4 r1 r2 r3 z1 z2 z3 z4 z5 Pula Zagreb Rijeka Pula Cijena premotavanja: 10, cijena preseljenja: 50 Trenutno dostupni filmovi: p1 p2 p3 p4 r3 Vlasnistvo videoteke: Rijeka Posudjen: ne, pogledan: ne, premotan: da Dosadasnji posudjivaci: 0 1 1 1 0 100 0 0 1 Zagreb Cijena premotavanja: 5, cijena preseljenja: 20 Trenutno dostupni filmovi: z1 z2 z3 1 80 1 0 1 0 75 1 90 1 1 1 1 Rijeka Cijena premotavanja: 15, cijena preseljenja: 35 Trenutno dostupni filmovi: r3 Zagreb 60 1 Gavran Melkior p2 p3 p4 r3 z1 z2 z3 z5 z4 Vlasnistvo videoteke: Zagreb Posudjen: da, pogledan: ne, premotan: da Trenutno u posudbi kod: NEKOG Dosadasnji posudjivaci: Gavran Melkior r2 r1 r3 55 1 1 65 1 0 1 60 0 1 50 0 70 0 1 0 1 1 1-0 1 1 1 0-0 0 1 1 1 90 0 55 45 30 z4 r2 z4 z5 p1 p2 p3 p4 r1 r2 r3 z1 z2 z3 z4 z5 z4 Vlasnistvo videoteke: Zagreb Posudjen: ne, pogledan: da, premotan: ne Dosadasnji posudjivaci: Gavran Mario Melkior 1 r2 Vlasnistvo videoteke: Rijeka Posudjen: da, pogledan: ne, premotan: da Trenutno u posudbi kod: NEKOG Dosadasnji posudjivaci: Gavran Mario Sus |
mycky1111 (napisa): |
primjera radi, sto vraca funcija nadi_videoteku ako ta videoteka ne postoji? ja sam shvatila NULL, al jesam dobro shvatila?! |
mycky1111 (napisa): |
e, zasto imate posebne mainove? |
mycky1111 (napisa): |
zar neciji main za videoteku ne bi trebao radit i na moj program? |
mycky1111 (napisa): |
mislim ime videoteke je ime, ime filma je definirano kao ime_filma |
mycky1111 (napisa): |
mislim, nece oni tipkat 100 mainova? |
mycky1111 (napisa): |
e i, ako ja zelim gledat film, mora li mi gledan bit "ne", mislim mogu li gledat film koji je gledan, i kad premotan film, jer mi moram stavit i gledan "ne" |
Gino (napisa): |
void ispisi (film &f) {
cout<<f.naziv<<endl; ... } |
Kod: |
#include "autokuca.h" #include <iostream> int main() { autokuca *A = new autokuca("Vrdoljak", 200); autokuca *B = new autokuca("Buric", 250); autokuca *C = new autokuca("Dojkic", 220); automobil *p = new automobil(*B, "ZG-524-RB", 100, 12); automobil *q = new automobil(*C, "RI-243-TB", 120, 15); automobil *r = new automobil(*B, "ZG-672-GR", 180, 13); automobil *s = new automobil(*A, "OS-935-AT", 160, 15); automobil *t = new automobil(*A, "VU-106-ZA", 145, 18); automobil *u = new automobil(*C, "ZG-534-IG", 130, 11); automobil *v = new automobil(*C, "ZD-714-PB", 140, 14); automobil *w = new automobil(*A, "BJ-645-GT", 155, 17); automobil *x = new automobil(*A, "ST-702-ME", 160, 15); cout << "Dostupni automobili u autokuci Dojkic: " << endl; vector<automobil*> tren_dost = (autokuca::nadji_autokucu("Dojkic"))->trenutno_dostupni_automobili(); for (vector<automobil*>::iterator it = tren_dost.begin(); it != tren_dost.end(); ++it) cout << (*it)->registracija << endl; cout << "Marko iznajmljuje automobil r u autokuci A: " << A->iznajmi(*r, "Marko") << endl; cout << "Marko iznajmljuje automobil r: " << r->iznajmi("Marko") << endl; r->dolij_goriva(200); r->vozi(50); r->vozi(70); cout << "Dostupni automobili u autokuci Buric: " << endl; tren_dost = (autokuca::nadji_autokucu("Buric"))->trenutno_dostupni_automobili(); for (vector<automobil*>::iterator it = tren_dost.begin(); it != tren_dost.end(); ++it) cout << (*it)->registracija << endl; cout << "Marko vraća automobil r u autokucu C: " << C->vrati(*r) << endl; cout << "Ivica iznajmljuje automobil s: " << s->iznajmi("Ivica") << endl; cout << "Ivica iznajmljuje automobil t: " << t->iznajmi("Ivica") << endl; p->dolij_goriva(30); p->vozi(50); cout << "Marin iznajmljuje automobil x: " << x->iznajmi("Marin") << endl; cout << "Branko iznajmljuje automobil x: " << x->iznajmi("Branko") << endl; cout << "Iznajmljeni automobili u A: " << endl; map<string, automobil*> iznajmljeni_u_A = A->iznajmljeni_automobili(); for (map<string, automobil*>::iterator it = iznajmljeni_u_A.begin(); it != iznajmljeni_u_A.end(); ++it) cout << (*it).first << " " << (*it).second->registracija << endl; cout << "Sve autokuce: " << endl; for (list<autokuca*>::iterator it = autokuca::sve_autokuce.begin(); it != autokuca::sve_autokuce.end(); ++it) cout << (*it)->ime_autokuce << endl; cout << "Automobil registracije BJ-645-GT nalazi se u autokuci: " << automobil::nadji_automobil("BJ-645-GT")->naziv_autokuce() << endl; cout << "Vraćam x u autokucu A: " << x->vrati(*A) << endl; cout << "Ivan iznajmljuje r: " << r->iznajmi("Ivan") << endl; cout << "Osobe koje su iznajmile automobil r: " << endl; set<string> osobe_r = r->osobe_koje_su_iznajmile_automobil(); for (set<string>::iterator it = osobe_r.begin(); it != osobe_r.end(); ++it) cout << *it << endl; cout << "Popis trenutno dostupnih automobila: " << endl; vector<automobil*> d = automobil::trenutno_dostupni_automobili(); for (vector<automobil*>::iterator it = d.begin(); it != d.end(); ++it) cout << (*it)->registracija << endl; cout << "Vračam s u autokucu B: " << s->vrati(*B) << endl; cout << "Danijel iznajmljuje s: " << s->iznajmi("Danijel") << endl; s->dolij_goriva(80); s->vozi(80); cout << "Danijel vraća s u B: " << B->osoba_vraca_automobil("Danijel") << endl; automobil *najpos = automobil::najposudjivaniji_automobil(); cout << "Najposuđivaniji automobil: " << najpos->registracija << endl; s->dolij_goriva(40); s->vozi(40); najpos = automobil::najposudjivaniji_automobil(); cout << "Najposuđivaniji automobil: " << najpos->registracija << endl; // testiranje destruktora cout << "Obrisan x!" << endl; delete x; cout << "Automobili dostupni u A: " << endl; tren_dost = A->trenutno_dostupni_automobili(); for (vector<automobil*>::iterator it = tren_dost.begin(); it != tren_dost.end(); ++it) cout << (*it)->registracija << endl; cout << "Obrisani w, t i s" << endl; delete w; delete t; delete s; cout << "Automobili dostupni u A: " << endl; tren_dost = A->trenutno_dostupni_automobili(); for (vector<automobil*>::iterator it = tren_dost.begin(); it != tren_dost.end(); ++it) cout << (*it)->registracija << endl; cout << "Obrisana autokuca A" << endl; delete A; cout << "Sve autokuce: " << endl; for (list<autokuca*>::iterator it = autokuca::sve_autokuce.begin(); it != autokuca::sve_autokuce.end(); ++it) cout << (*it)->ime_autokuce << endl; return 0; } |
Citat: |
Dostupni automobili u autokuci Dojkic: RI-243-TB ZD-714-PB ZG-534-IG Marko iznajmljuje automobil r u autokuci A: 0 Marko iznajmljuje automobil r: 1 Dostupni automobili u autokuci Buric: ZG-524-RB Marko vraća automobil r u autokucu C: -640 Ivica iznajmljuje automobil s: 1 Ivica iznajmljuje automobil t: 0 Marin iznajmljuje automobil x: 1 Branko iznajmljuje automobil x: 0 Iznajmljeni automobili u A: Ivica OS-935-AT Marin ST-702-ME Sve autokuce: Vrdoljak Buric Dojkic Automobil registracije BJ-645-GT nalazi se u autokuci: Vrdoljak Vraćam x u autokucu A: 160 Ivan iznajmljuje r: 1 Osobe koje su iznajmile automobil r: Ivan Marko Popis trenutno dostupnih automobila: BJ-645-GT RI-243-TB ST-702-ME VU-106-ZA ZD-714-PB ZG-524-RB ZG-534-IG Vračam s u autokucu B: 410 Danijel iznajmljuje s: 1 Danijel vraća s u B: 410 Najposuđivaniji automobil: ZG-672-GR Najposuđivaniji automobil: OS-935-AT Obrisan x! Automobili dostupni u A: BJ-645-GT OS-935-AT VU-106-ZA Obrisani w, t i s Automobili dostupni u A: Obrisana autokuca A Sve autokuce: Buric Dojkic |
Kardinal (napisa): |
Evo jedan primjer maina za autokuce |
output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.