Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class cstavka
- {
- private:
- cstavka *sljedeci;
- public:
- int sifra;
- char naziv[40];
- float cijena;
- int kolicina;
- cstavka()
- {
- cout<<"Alociram element liste"<<endl;
- sljedeci=NULL;
- }
- ~cstavka()
- {
- cout<<"Dealociram: "<<this->sifra<<endl;
- }
- void novi()
- {
- cstavka *zadnji, *novi;
- zadnji=this;
- while(zadnji->sljedeci)
- zadnji=zadnji->sljedeci;
- novi=new cstavka;
- zadnji->sljedeci=novi;
- cout<<"Sifra: ";cin>>novi->sifra;
- cout<<"Naziv: ";cin.ignore();cin.getline(novi->naziv,40);
- cout<<"Cijena: ";cin>>novi->cijena;
- cout<<"Kolicina: ";cin>>novi->kolicina;
- }
- void ispis()
- {
- cstavka *trenutni=this->sljedeci;
- while(trenutni)
- {
- cout<<"Sifra: "<<trenutni->sifra<<endl;
- cout<<"Naziv: "<<trenutni->naziv<<endl;
- cout<<"Cijena: "<<trenutni->cijena<<endl;
- cout<<"Kolicina: "<<trenutni->kolicina<<endl<<endl;
- trenutni=trenutni->sljedeci;
- }
- }
- void zbroj()
- {
- float suma;
- cstavka *trenutni=this->sljedeci;
- while(trenutni)
- {
- suma+=(trenutni->kolicina*trenutni->cijena);
- trenutni=trenutni->sljedeci;
- }
- cout<<"Ukupan iznos: "<<suma<<endl;
- }
- cstavka dealokacija()
- {
- cstavka *prethodni, *trenutni;
- prethodni=this;
- trenutni=this->sljedeci;
- while(trenutni)
- {
- prethodni->sljedeci=trenutni->sljedeci;
- delete trenutni;
- trenutni=prethodni->sljedeci;
- }
- }
- };
- cstavka *lista;
- cstavka *polje;
- int main()
- {
- bool je=false;
- lista=new cstavka;
- int o,o2,o3,broj;
- do
- {
- cout<<"1. Alokacija, unos pojedinog elemnta, ispis svih elemenata"<<endl;
- cout<<"2. Iznos svih stavki, dealokacija liste"<<endl;
- cout<<"3. Alokacija polja vezanih listi, unosp odataka u zadanu listu, ispis pojedine vezane liste"<<endl;
- cout<<"4. Dealokacija svih vezanih listi i polja"<<endl;
- cout<<"9. Izlaz"<<endl;
- cin>>o;
- switch(o)
- {
- case 1:
- lista->novi();
- lista->ispis();
- break;
- case 2:
- lista->zbroj();
- lista->dealokacija();
- break;
- case 3:
- cout<<"1. Alokacija polja"<<endl;
- cout<<"2. Unos elemenata u pojedino polje"<<endl;
- cout<<"3. Ispis pojedine liste"<<endl;
- cin>>o2;
- switch(o2)
- {
- case 1:
- if(je==false)
- {
- cout<<"Velicina polja: ";cin>>broj;
- polje=new cstavka[broj];
- cout<<"Polje je kreirano"<<endl;
- je=true;
- }
- else
- cout<<"Polje vec postoji"<<endl;
- break;
- case 2:
- cout<<"U koje polje zelite unjeti element: ";
- do
- {
- cin>>o3;
- }while(o3>broj);
- polje[o3].novi();
- break;
- case 3:
- cout<<"Iz kojeg polja zelite ispisat element: ";
- do
- {
- cin>>o3;
- }while(o3>broj);
- polje[o3].ispis();
- break;
- }
- break;
- case 4:
- for(int i=broj-1;i>=0;i--)
- polje[i].dealokacija();
- je=false;
- break;
- case 9:return 0;
- }
- }while(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement