Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "biblioteka_vrijeme.cc"
- using namespace std;
- struct tlista{
- int redniBrojRobe;
- char nazivRobe[40];
- int cijenaKomada;
- int kolicina;
- float vrijemeUnosa;
- tlista *sljedeci;
- tlista *prethodni;
- };
- struct tstablo{
- int redniBrojRobe;
- char nazivRobe[40];
- float cijenaKomada;
- int kolicina;
- float vrijemeUnosa;
- tlista *lijevo;
- tlista *desno;
- };
- int Velicina_liste(tlista *lista){
- int brojac=0;
- tlista *tekuci=lista->sljedeci;
- while(tekuci){
- brojac++;
- tekuci=tekuci->sljedeci;
- }
- return brojac;
- }
- void dodaj_element(tlista *lista){
- cout<<"Lista ima "<<Velicina_liste(lista)<<" elemenata."<<endl<<endl;
- tlista *novi, *zadnji, *temp;
- char izbor;
- temp=new tlista;
- vrijeme_pocetak();
- cout<<"Redni broj robe: ";
- cin>>temp->redniBrojRobe;
- cout<<"Naziv robe: ";
- unos(temp->nazivRobe);
- cout<<"Cijena komada: ";
- cin>>temp->cijenaKomada;
- cout<<"Kolicina: ";
- cin>>temp->kolicina;
- vrijeme_kraj();
- temp->vrijemeUnosa=vrijeme_proteklo()/1000;
- cout<<"\nProteklo je "<<temp->vrijemeUnosa<<" sec."<<endl;
- cout<<"Vrijednost robe iznosi: "<<temp->cijenaKomada*temp->kolicina<<endl<<endl;
- cout<<"Jeste sigurni da zelite unesti podatke (d/n): ";
- cin>>izbor;
- if(izbor=='d'){
- zadnji=lista;
- while(zadnji)
- zadnji=zadnji->sljedeci;
- novi=new tlista;
- novi=temp;
- novi->prethodni=zadnji;
- zadnji->sljedeci=novi;
- novi->sljedeci=NULL;
- cout<<"Unos obavljen!"<<endl<<endl;
- tlista *tekuci=lista->sljedeci;
- while(tekuci){
- cout<<"Redni broj robe: "<<tekuci->redniBrojRobe<<endl;
- cout<<"Naziv robe: "<<tekuci->nazivRobe<<endl;
- cout<<"Vrijednost robe: "<<tekuci->cijenaKomada*tekuci->kolicina<<endl;
- cout<<"Vrijeme unosa: "<<tekuci->vrijemeUnosa<<" sec"<<endl<<endl;
- tekuci=tekuci->sljedeci;
- }
- }
- else{
- cout<<"Vrijeme unosa iznosi: "<<temp->vrijemeUnosa<<" sec."<<endl;
- cout<<"Broj elemenata: "<<Velicina_liste(lista)<<endl<<endl;
- }
- delete temp;
- temp=NULL;
- }
- int main(){
- int izbor;
- tlista *lista=NULL;
- tstablo *stablo=NULL;
- do{
- cout<<"0. Alokacija glave vezane liste i korijena binarnog stabla."<<endl;
- cout<<"1. Dodavanje elementa na kraj dvostruko vezane liste."<<endl;
- cout<<"2. Dodavanje elementa na pocetak dvostruko vezane liste."<<endl;
- cout<<"3. Binarno stablo (kreiranje i ispis)"<<endl;
- cout<<"4. Binarno stablo (pretrazivanje / dealokacija)"<<endl;
- cout<<"9. Izlaz iz programa"<<endl;
- cin>>izbor;
- switch(izbor){
- case 0:
- if(lista!=NULL || stablo!=NULL){
- cout<<"Glava liste i/ili korijen stabla su vec alocirani!"<<endl<<endl;
- break;
- }
- lista = new tlista;
- lista->sljedeci=NULL;
- lista->prethodni=NULL;
- stablo = new tstablo;
- stablo->lijevo=NULL;
- stablo->desno=NULL;
- cout<<"Glava liste i korijen stabla su uspjesno alocirani!"<<endl<<endl;
- break;
- case 1:
- dodaj_element(lista);
- break;
- }
- }while(izbor!=9);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment