Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //prvi rok
- #include <fstream>
- #include <iostream>
- using namespace std;
- class Vrijeme{
- public:
- int sati;
- int minute;
- bool operator == (Vrijeme v){
- return ( ((v.sati==sati) || (v.sati==(sati-12)) || (v.sati==(sati+12))) && (v.minute=minute));
- }
- };
- int main(){
- Vrijeme v1,v2;
- char unos='d';
- while(unos='d'){
- cout<<"Unesite sat pa minutu 1. vremena: "<<endl;
- cin>>v1.sati;
- cin>>v1.minute;
- cout<<"Unesite sat pa minutu 2. vremena: "<<endl;
- cin>>v2.sati;
- cin>>v2.minute;
- if(v1==v2){
- cout<<"Kazaljke pokazuju na isto vrijeme!"<<endl<<"Zelite li nastaviti unos?"<<endl;
- cin>>unos;
- }
- else{
- cout<<"Kazaljke ne pokazuju na isto vrijeme."<<endl<<"Zelite li nastaviti unos?"<<endl;
- cin>>unos;
- }
- }
- return 0;
- }
- //prvi rok 2.zad
- #include <fstream>
- #include <iostream>
- #include <vector>
- using namespace std;
- class Narudzba{
- private:
- int cijena;
- public:
- int sifra;
- void setCijena(int c){
- cijena=c;
- }
- int getCijena(){return cijena;}
- Narudzba(){
- cijena=0;
- sifra=100;
- }
- ~Narudzba(){};
- };
- class Dostava:public Narudzba{
- public:
- void PostaviCijenu(){
- setCijena(getCijena()+35);
- }
- };
- int main(){
- int brn;
- cout<<"Unesite broj narudzbi s dostavom: "<<endl;
- cin>>brn;
- vector <Dostava> vd(brn);
- for(int i=0;i<brn;i++){
- cout<<"Sifra: "<<endl;cin>>vd[i].sifra;
- cout<<"Cijena: "<<endl;
- int c;
- cin>>c;
- vd[i].setCijena(c);
- if((i+1)%3==0){
- cout<<"treca narudzba se ne naplacuje"<<endl;
- }
- else{
- vd[i].PostaviCijenu();
- }
- }
- ofstream izlaz;
- izlaz.open("narudzbe.txt");
- for(int i=0;i<brn;i++){
- izlaz<<vd[i].sifra<<"\t"<<vd[i].getCijena()<<endl;
- }
- izlaz.close();
- return 0;
- }
- #include <iostream>
- #include <string>
- #include <vector>
- /* 1. rok GRUPA B
- Definiraj klasu brod sa privatnim atributom naziv_broda,
- javim atributom brzina, te virtualnom metodom ubrzanje.
- Pretpostavljene vrijednosti su Crni Biser i 0.
- Brodovi se djele na drvene i metalne.
- Drveni prilikom ubrzanja povecaju brzinu na 50,a metalni za 100.
- Cijelo vrijeme pomocu jednog statickog atributa prati se koliko
- postoji brodova(neovisno o vrsti),te se taj podatak konstantno
- mjenja po potrebi.
- Korisnik u glavnom programu unosi broj,taj brioj predstavjati ce velicinu oba vektora(vektora drvenih i vektora metalnih brodova).
- Nakon toga unose se svi podaci za sve brodove. Nakon popune, program ispise nazive svih metalnih brodova ciji nazivi pocinju na
- C(dodati funkciju koja vraca prvo slovo imena), te ispise koliko brodova postoji(statican atribut)*/
- using namespace std;
- class Brod{
- private:
- string *naziv_broda;
- public:
- int *brzina;
- virtual void ubrzanje()=0;
- static int brb;
- void setNaziv(){
- cin.sync();cin.clear();getline(cin,*naziv_broda);
- }
- string getNaziv(){
- return *naziv_broda;
- }
- Brod(){
- naziv_broda=new string;
- *naziv_broda="Crni Biser";
- brzina=new int;
- *brzina=0;
- brb++;
- }
- ~Brod(){
- delete naziv_broda;
- delete brzina;
- brb--;
- }
- char GetSlovo(){
- return (*naziv_broda).at(0);
- }
- };
- class Drveni:public Brod{
- public:
- void ubrzanje(){
- *brzina=(*brzina)+50;
- }
- };
- class Metalni:public Brod{
- public:
- void ubrzanje(){
- *brzina=(*brzina)+100;
- }
- };
- int Brod::brb=0;
- int main(){
- int *br=new int;
- int *i=new int;
- cout<<"unesite broj brodova: "<<endl;
- cin>>*br;
- vector <Drveni*>*vd=new vector <Drveni*>(*br);
- vector <Metalni*>*vm=new vector <Metalni*>(*br);
- for(*i=0;*i<*br;(*i)++){
- vd->at(*i)=new Drveni;
- vm->at(*i)=new Metalni;
- }
- for(*i=0;*i<*br;(*i)++){
- cout<<"Naziv drvenog broda: "<<endl;
- vd->at(*i)->setNaziv();
- cout<<"Brzina drvenog broda: "<<endl;
- cin>>*(vd->at(*i)->brzina);
- cout<<"Naziv metalnog broda: "<<endl;
- vm->at(*i)->setNaziv();
- cout<<"Brzina metalnog broda: "<<endl;
- cin>>*(vm->at(*i)->brzina);
- }
- for(*i=0;*i<*br;(*i)++){
- if(vm->at(*i)->GetSlovo()=='C'){
- cout<<vm->at(*i)->getNaziv()<<endl;
- }
- }
- cout <<"Brodova ima: "<<Brod::brb<<endl;
- return 0;
- }
- #include <iostream>
- #include <string>
- #include <vector>
- /*
- Definiraj klasu Brod sa privatnim atributima naziv_broda i naziv_maticne_luke, te virtualnom metodom slovo.
- Pretpostavljene vrijednosti su Oluja i Rijeka.
- Brodovi se dijele na teretne i putnicke. Teretnim se u funkciji slovo vraca prvo slovo imena, a putnickim prvo slovo luke.
- Cijelo vrijeme pomocu jednog statickog atributa prati se kolko postoji brodova (neovisno o vrsti), te se taj podataka konstantno mijenja po potrebi.
- 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.
- 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
- onih cije funkcije vrate isto slovo.
- Koristite dinamicke elemente svuda u programu (za staticki atribut nije potrebno). Dealocirati memoriju nakon koristenja.
- */
- using namespace std;
- class Brod{
- private:
- string *naziv_broda;
- string *naziv_maticne_luke;
- public:
- virtual char Slovo()=0;
- static int brb;
- void setNaziv(string nb){
- *naziv_broda = nb;
- }
- string getNaziv(){
- return *naziv_broda;
- }
- void setLuka(string nl){
- *naziv_maticne_luke=nl;
- }
- string getLuka(){
- return *naziv_maticne_luke;
- }
- Brod(){
- naziv_broda=new string;
- *naziv_broda="Oluja";
- naziv_maticne_luke=new string;
- *naziv_maticne_luke="Rijeka";
- brb++;
- }
- ~Brod(){
- delete naziv_broda;
- delete naziv_maticne_luke;
- brb--;
- }
- };
- class Teretni:public Brod{
- public:
- char Slovo(){
- return getNaziv().at(0);
- }
- };
- class Putnicki:public Brod{
- public:
- char Slovo(){
- return getLuka().at(0);
- }
- };
- int Brod::brb=0;
- int main(){
- int *br=new int;
- int *i=new int;
- cout<<"unesite broj brodova:"<<endl;
- cin>>*br;
- vector <Putnicki*>*bp=new vector <Putnicki*>(*br);
- for(*i=0;*i<*br;(*i)++){
- bp->at(*i)=new Putnicki;
- }
- Teretni* *nt = new Teretni*[*br];
- for (*i=0;*i<*br;(*i)++){
- (*(nt+(*i))) = new Teretni;
- }
- string *nb = new string; string *nl = new string;
- for(*i=0;*i<*br;(*i)++){
- cout<<"Unesite ime teretnog broda: "<<endl;
- cin.sync(); cin.clear(); getline(cin,*nb);
- (*(nt+(*i)))->setNaziv(*nb);
- cout<<"Unesite ime maticne luke teretnog broda: "<<endl;
- cin.sync(); cin.clear(); getline(cin,*nl);
- (*(nt+(*i)))->setLuka(*nl);
- cout<<"Unesite ime putnickog broda: "<<endl;
- cin.sync(); cin.clear(); getline(cin,*nb);
- bp->at(*i)->setNaziv(*nb);
- cout<<"Unesite ime maticne luke putnickog broda: "<<endl;
- cin.sync(); cin.clear(); getline(cin,*nl);
- bp->at(*i)->setLuka(*nl);
- }
- for(*i=0;*i<*br;(*i)++){
- if(bp->at(*i)->Slovo()==(*(nt+(*i)))->Slovo()){
- cout<<bp->at(*i)->getNaziv()<<endl;
- cout<<(*(nt+(*i)))->getNaziv()<<endl;
- }
- }
- for (*i=0;*i<*br;(*i)++){
- delete bp->at(*i);
- }
- bp->clear(); delete bp;
- for (*i=0;*i<*br;(*i)++){
- delete (*(nt+(*i)));
- }
- delete[] nt;
- delete br, i, nb, nl;
- return 0;
- }
- #include <iostream>
- #include <string>
- #include <vector>
- /* 1. rok grupa A
- Definiraj klasu pilot s privatnim atributnom puno_ime, javnim èin, te virtualnom metodom unaprijeðenje.
- Pretpostavljene vrijednosti imena i èina su Marko Markovic i novak.
- Piloti se dijele na vojne i civilne. Vojni prilikom unaprijeðenja postaju pukovnici, a civilni kapetani.
- Statièki atributi prate koliko je vojnih, i konstantno se mjenjaju po potrebi.
- Korisnik u glavnom programu unosi broj koji predstavlja velièinu vektora vojnih i civilnih pilota.Unose se imena i èinovi.
- Nakon popune, pogram ispiše èinove svih vojnih pilota koji se zovu Marko Markoviæ.
- Ispiše koliko vojnih pilota postoji.
- */
- using namespace std;
- class Pilot{
- private:
- string *puno_ime;
- public:
- string *javni_cin;
- virtual void unaprijedjenje()=0;
- void setIme(){
- cin.sync();cin.clear();getline(cin,*puno_ime);
- }
- string getIme(){
- return *puno_ime;
- }
- Pilot(){
- puno_ime=new string;
- javni_cin=new string;
- *puno_ime="Marko Markovic";
- *javni_cin="novak";
- }
- ~Pilot(){
- delete puno_ime;
- delete javni_cin;
- }
- };
- class Vojni:public Pilot{
- public:
- void unaprijedjenje(){
- *javni_cin="pukovnik";
- }
- static int brv;
- Vojni(){
- brv++;
- }
- ~Vojni(){
- brv--;
- }
- };
- class Civilni:public Pilot{
- public:
- void unaprijedjenje(){
- *javni_cin="kapetan";
- }
- };
- int Vojni::brv=0;
- int main()
- {
- int *brp=new int;
- int *i=new int;
- cout<<"Broj pilota: "<<endl;
- cin>>*brp;
- vector <Vojni*> *nv=new vector<Vojni*>(*brp);
- vector <Civilni*> *nc=new vector<Civilni*>(*brp);
- for(*i=0;*i<*brp;(*i)++){
- nv->at(*i)=new Vojni;
- nc->at(*i)=new Civilni;
- }
- for(*i=0;*i<*brp;(*i)++){
- cout<<"Ime vojnog pilota: "<<endl;
- nv->at(*i)->setIme();
- cout<<"Cin vojnog pilota: "<<endl;
- cin.sync();cin.clear();getline(cin,*(nv->at(*i)->javni_cin));
- cout<<"Ime civilnog pilota: "<<endl;
- nc->at(*i)->setIme();
- cout<<"Cin civilnog pilota: "<<endl;
- cin.sync();cin.clear();getline(cin,*(nc->at(*i)->javni_cin));
- }
- for(*i=0;*i<*brp;(*i)++){
- if(nv->at(*i)->getIme()=="Marko Markovic"){
- cout<<*(nv->at(*i)->javni_cin)<<endl;
- }
- }
- cout<<"Vojnih pilota ima: "<<Vojni::brv<<endl;
- return 0;
- }
- //vatrogasac profesionalni
- #include<iostream>
- #include<vector>
- #include<string>
- using namespace std;
- class Vatrogasac{
- private:
- int *visina;
- public:
- void setVisina(){cin>>*visina;}
- void setVisina(int vis){*visina=vis;}
- int getVisina(){return *visina;}
- string *naziv_tima;
- //virtual void Selidba()=0;
- Vatrogasac(){visina=new int; naziv_tima=new string; *naziv_tima="Gornja Stanica"; *visina=250;}
- ~Vatrogasac(){delete visina; delete naziv_tima;}
- };
- class Profesionalni:public Vatrogasac{
- private:
- int *isplata;
- public:
- void setIsplata(){cin>>*isplata;}
- int getIsplata(){return *isplata;}
- static int brzina;
- Profesionalni(){isplata=new int; *isplata=4500;}
- ~Profesionalni(){delete isplata;}
- };
- int Profesionalni::brzina=20;
- class Dobrovoljni: public Vatrogasac{
- public:
- int *bodovi;
- Dobrovoljni(){bodovi=new int; *bodovi=100;}
- ~Dobrovoljni(){delete bodovi;}
- };
- int main()
- {
- int *br=new int;
- do{
- cout<<"Unesi broj: "<<endl;
- cin>>*br;
- }while( (*br<=0) || (*br%2!=0));
- vector<Profesionalni*> *np=new vector<Profesionalni*>(*br);
- vector<Dobrovoljni*> *nd=new vector<Dobrovoljni*>(*br);
- for(int i=0;i<*br;i++)
- {
- np->at(i)=new Profesionalni;
- nd->at(i)=new Dobrovoljni;
- }
- for(int i=0;i<*br;i++)
- {
- cout<<"Unesi visinu profesionalnog:"<<endl;
- np->at(i)->setVisina();
- cout<<"Unesi naziv tima prof:"<<endl;
- cin>>*(np->at(i)->naziv_tima);
- cout<<"Unesi isplatu profesionalnog"<<endl;
- np->at(i)->setIsplata();
- cout<<"Unesi visinu dobrovoljnog:"<<endl;
- nd->at(i)->setVisina();
- cout<<"Unesi naziv tima dobrovoljnog:"<<endl;
- cin>>*(nd->at(i)->naziv_tima);
- cout<<"Unesi bodove dobrovoljnog:"<<endl;
- cin>>*(nd->at(i)->bodovi);
- if( np->at(i)->getVisina()>200)
- {Profesionalni::brzina=Profesionalni::brzina-5;
- cout<<"Nova brzina je "<<Profesionalni::brzina<<endl; //samo provjera dal radi
- }
- }
- for(int i=0;i<*br;i++){
- if((*(np->at(i)->naziv_tima)).at(0)=='V')
- {nd->at(i)->setVisina(160);
- cout<<"nova visina dobrovoljnog:"<<nd->at(i)->getVisina()<<endl;}
- }
- delete br;
- delete np;
- delete nd;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement